CTimestampBehavior
Package | zii.behaviors |
---|---|
Inheritance | class CTimestampBehavior » CActiveRecordBehavior » CModelBehavior » CBehavior » CComponent |
Implements | IBehavior |
Since | 1.1 |
Version | $Id: CTimestampBehavior.php 99 2010-01-07 20:55:13Z qiang.xue $ |
CTimestampBehavior will automatically fill date and time related atributes when the active record is created and/or upadated. You may specify an active record model to use this behavior like so:
public function behaviors(){ return array( 'CTimestampBehavior' => array( 'class' => 'zii.behaviors.CTimestampBehavior', 'createAttribute' => 'create_time_attribute', 'updateAttribute' => 'update_time_attribute', ) ); }The createAttribute and updateAttribute options actually default to 'create_time' and 'update_time' respectively, so it is not required that you configure them. If you do not wish CTimestampBehavior to set a timestamp for record update or creation, set the corrisponding attribute option to null.
By default, the update attribute is only set on record update. If you also wish it to be set on record creation, set the setUpdateOnCreate option to true.
Although CTimestampBehavior attempts to figure out on it's own what value to inject into the timestamp attribute, you may specify a custom value to use instead via timestampExpression
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
createAttribute | mixed | The name of the attribute to store the creation time. | CTimestampBehavior |
enabled | boolean | whether this behavior is enabled | CBehavior |
owner | CComponent | the owner component that this behavior is attached to. | CBehavior |
setUpdateOnCreate | bool | Whether to set the update attribute to the creation timestamp upon creation. | CTimestampBehavior |
timestampExpression | mixed | The expression to use to generate the timestamp. | CTimestampBehavior |
updateAttribute | mixed | The name of the attribute to store the modification time. | CTimestampBehavior |
Protected Properties
Property | Type | Description | Defined By |
---|---|---|---|
map | array | Maps column types to database method | CTimestampBehavior |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
__isset() | Checks if a property value is null. | CComponent |
__set() | Sets value of a component property. | CComponent |
__unset() | Sets a component property to be null. | CComponent |
afterConstruct() | Responds to CActiveRecord::onAfterConstruct event. | CActiveRecordBehavior |
afterDelete() | Responds to CActiveRecord::onAfterDelete event. | CActiveRecordBehavior |
afterFind() | Responds to CActiveRecord::onAfterFind event. | CActiveRecordBehavior |
afterSave() | Responds to CActiveRecord::onAfterSave event. | CActiveRecordBehavior |
afterValidate() | Responds to CModel::onAfterValidate event. | CModelBehavior |
asa() | Returns the named behavior object. | CComponent |
attach() | Attaches the behavior object to the component. | CBehavior |
attachBehavior() | Attaches a behavior to this component. | CComponent |
attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
attachEventHandler() | Attaches an event handler to an event. | CComponent |
beforeDelete() | Responds to CActiveRecord::onBeforeDelete event. | CActiveRecordBehavior |
beforeFind() | Responds to CActiveRecord::onBeforeFind event. | CActiveRecordBehavior |
beforeSave() | Responds to CModel::onBeforeSave event. | CTimestampBehavior |
beforeValidate() | Responds to CModel::onBeforeValidate event. | CModelBehavior |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
detach() | Detaches the behavior object from the component. | CBehavior |
detachBehavior() | Detaches a behavior from the component. | CComponent |
detachBehaviors() | Detaches all behaviors from the component. | CComponent |
detachEventHandler() | Detaches an existing event handler. | CComponent |
disableBehavior() | Disables an attached behavior. | CComponent |
disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
enableBehavior() | Enables an attached behavior. | CComponent |
enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
events() | Declares events and the corresponding event handler methods. | CActiveRecordBehavior |
getEnabled() | CBehavior | |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getOwner() | CBehavior | |
hasEvent() | Determines whether an event is defined. | CComponent |
hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
hasProperty() | Determines whether a property is defined. | CComponent |
raiseEvent() | Raises an event. | CComponent |
setEnabled() | CBehavior |
Protected Methods
Method | Description | Defined By |
---|---|---|
getTimestampByAttribute() | Gets the approprate timestamp depending on the column type $attribute is | CTimestampBehavior |
getTimestampByColumnType() | Returns the approprate timestamp depending on $columnType | CTimestampBehavior |
Property Details
The name of the attribute to store the creation time. Set to null to not use a timstamp for the creation attribute. Defaults to 'create_time'
Maps column types to database method
Whether to set the update attribute to the creation timestamp upon creation. Otherwise it will be left alone. Defaults to false.
The expression to use to generate the timestamp. e.g. 'time()'. Defaults to null meaning that we will attempt to figure out the appropriate timestamp automatically. If we fail at finding the appropriate timestamp, then it will fall back to using the current UNIX timestamp
The name of the attribute to store the modification time. Set to null to not use a timstamp for the update attribute. Defaults to 'update_time'
Method Details
public void beforeSave(CModelEvent $event)
| ||
$event | CModelEvent | event parameter |
Responds to CModel::onBeforeSave event. Sets the values of the creation or modified attributes as configured
protected mixed getTimestampByAttribute(string $attribute)
| ||
$attribute | string | $attribute |
{return} | mixed | timestamp (eg unix timestamp or a mysql function) |
Gets the approprate timestamp depending on the column type $attribute is
protected mixed getTimestampByColumnType(string $columnType)
| ||
$columnType | string | $columnType |
{return} | mixed | timestamp (eg unix timestamp or a mysql function) |
Returns the approprate timestamp depending on $columnType