Yii2 自動更新時間created_at updated_at


創建model之后,新建一條記錄,結果設計的表中created_at 字段 updated_at 字段 都是datetime 類型的,卻不能自動插入當前時間。查看了資料,解決如下:

1、在class CrmBusiness extends \yii\db\ActiveRecord {}中 引入use  yii\behaviors\TimestampBehavior;use yii\db\Expression;

2、覆蓋父類的behaviors 方法

/**
* @inheritdoc
*/
 public function behaviors()
  {
     return [
          [
              'class' => TimestampBehavior::className(),
              'createdAtAttribute' => 'created_at',// 自己根據數據庫字段修改
              'updatedAtAttribute' => 'updated_at', // 自己根據數據庫字段修改, // 自己根據數據庫字段修改
              //'value'   => new Expression('NOW()'),
              'value'   => function(){return date('Y-m-d H:i:s',time());},
          ],
      ];
 }

3、value的值需要注意:第一種方法 引入use yii\db\Expression;'value'   => new Expression('NOW()'),第二種方法:不需要引入use yii\db\Expression;'value'   => function(){return date('Y-m-d H:i:s',time());},

4、問題雖然解決,但是為什么 新建數據卻沒有自動插入時間的原因卻沒有發現..............


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM