码迷,mamicode.com
首页 > 其他好文 > 详细

Yii2 自动更新时间created_at updated_at

时间:2016-05-09 13:58:45      阅读:715      评论:0      收藏:0      [点我收藏+]

标签:

创建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、问题虽然解决,但是为什么 新建数据却没有自动插入时间的原因却没有发现..............

Yii2 自动更新时间created_at updated_at

标签:

原文地址:http://www.cnblogs.com/xp796/p/5473527.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!