Yii2移除行为,手动控制yii\behaviors\TimestampBehavior时间戳更新

Debug5年前 (2020)更新 bruce
243 0
内容纲要

需要写定时任务业务逻辑,不想更新updated_at.

# 模型下行文,key = timestamp,这个很重要,后面要分离
public function behaviors()
    {
        return [
            'timestamp' => [
                'class' => 'yii\behaviors\TimestampBehavior',
                'attributes' => [
                    ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
                    ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
                ],
                //'value' => time(),
            ],

        ];
    }

# 调用模型,这里需要分离之前的默认行为
$model = new model();
var_dump($model); // 可以看到behaviors数组timestamp
$model->detachBehavior('timestamp'); //去掉时间戳自动更新行为
var_dump($model);// 看不到behaviors数组timestamp
$model->name = 'name';
$model->save();
# 查看update_at时间戳没有自动更新
© 版权声明

相关文章

暂无评论

暂无评论...