AutoTimestampBehavior

You are viewing revision #5 of this wiki article.
This version may not be up to date with the latest version.
You may want to view the differences to the latest version or see the changes made in this revision.

« previous (#4)next (#6) »

Note: currently a variant of this class CTimestampBehavior is included into Yii distribution package.

This behavior will automatically set timestamp fields to the row creation and modification times.

<?php
class AutoTimestampBehavior extends CActiveRecordBehavior {

	/**
	* The field that stores the creation time
	*/
	public $created = 'created';
	/**
	* The field that stores the modification time
	*/
	public $modified = 'modified';
	
	
	public function beforeValidate($on) {
		if ($this->Owner->isNewRecord)
			$this->Owner->{$this->created} = new CDbExpression('NOW()');
		else
			$this->Owner->{$this->modified} = new CDbExpression('NOW()');
			
		return true;	
	}
}
Installing to a model

Drop the following into your model to install it:

public function behaviors(){
	return array(
		'AutoTimestampBehavior' => array(
			'class' => 'application.components.AutoTimestampBehavior',
			//You can optionally set the field name options here
		)
	);
}
Links

Russian Version

Chinese version

2 2
3 followers
Viewed: 19 085 times
Version: Unknown (update)
Category: Tutorials
Tags:
Written by: jonah
Last updated by: Yang He
Created on: Feb 19, 2009
Last updated: 9 years ago
Update Article

Revisions

View all history