作者:我是谁_2502894917 | 来源:互联网 | 2018-05-17 02:39
{代码...}当记录插入时,行为将当前时间戳赋值给created_at和updated_at属性;当记录更新时,行为将当前时间戳赋值给updated_at属性。请问,上面代码attributes中的配置项是怎么起作用的。
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
],
],
];
}
当记录插入时,行为将当前时间戳赋值给 created_at 和 updated_at 属性;
当记录更新时,行为将当前时间戳赋值给 updated_at 属性。
请问,上面代码attributes中的配置项是怎么起作用的。
回复内容:
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
],
],
];
}
当记录插入时,行为将当前时间戳赋值给 created_at 和 updated_at 属性;
当记录更新时,行为将当前时间戳赋值给 updated_at 属性。
请问,上面代码attributes中的配置项是怎么起作用的。
理解行为和事件
通俗来说,背后的逻辑就是通过上面的代码,为ar绑定了两个事件,分别是beforeInsert
和 'beforeUpdate',
当这两个事件触发时,调用回调出里函数,设置属性值