class User extends \yii\db\ActiveRecord
{
public function behaviors()
{
return [
//注意,这里我们需要指定behavior名称,以便我们需要时dettach掉
'_timestamp' => [
'class' => 'yii\behaviors\TimestampBehavior'
]
];
}
}
使用时, 我不想使用默认的TimestampBehavior
来赋值:
$user = new User;
...
$user->detachBehavior('_timestamp');
$user->created_at = 'your logic to generate time';
$user->updated_at = 'same';
$user->insert();
所以灵活的是, 当我们不需要某个behavior
时, 我们可以随时把它fire掉!
如果这篇文章对您有帮助,不妨微信小额赞助我一下,让我有动力继续写出高质量的教程。
一定要自己自定义一个 behaviors
吗?
如果
public function behaviors()
{
return [
'timestamp' => [
'class' => 'yii\behaviors\TimestampBehavior',
],
];
}
$user = new User;
...
$user->dettachBehavior('timestamp');
这样可以不?
@light 你单词写错了,坑
应该是 detachBehavior
https://github.com/yiisoft/yii2/blob/master/docs/guide/concept-behaviors.md#detaching-behaviors-