Yii2取消激活行为时间戳保存update_at时的行为

xuo3flqw  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(182)

我正在编写一个控制台控制器命令,用于编辑一些数据库中的一些值。问题是当我试图保存模型时。

//console/controllers/ConsoleController.php

 public function actionChangeCourseTitle()
    {

      $model = Course::find->where([ 'id' => $id])->all();
      $model->title = "new title";
      $model->detachBehaviors(); //for deactivate the TimestampBehavior
      $model->save();

     }

我想在“update_at”字段中关闭自动保存时间戳的功能,使用$model-〉detachBehaviors(),如yii 2文档中所述(https://www.yiiframework.com/doc/guide/2.0/en/concept-behaviors#detaching-behaviors),但是不起作用。
你知道为什么不工作吗?我定义错误的detachBehaviors()?
顺祝商祺!
保禄
更新:在表的SQL定义中编辑。
创建表格course(...
updated_at日期时间非空默认当前时间戳打开更新当前时间戳,
......)
我用ALTER COLUMN作为SQL查询来解决这个问题...
修改表course修改列updated_at日期时间非空默认当前时间戳;
并且我可以编辑字段而不自动更新字段“update_at”。

qco9c6ql

qco9c6ql1#

更新:在表的SQL定义中编辑。
“创建表格”课程(...
更新日期时间非空默认当前时间戳打开更新当前时间戳,
......)
我用ALTER COLUMN作为SQL查询来解决这个问题...
更改表过程修改列更新的日期时间NOT NULL默认当前时间戳;
并且我可以编辑字段而不自动更新字段“update_at”。

相关问题