Yii的奇淫技巧

Yii2 模型添加自动维护时间戳

2020-02-21  本文已影响0人  0661

现代的php框架都自带时间戳维护,Yii2也不例外,本文是在模型添加时间戳维护,并且自定义字段。

说明:使用gii创建模型基类,基类的命名空间为“common\models”,因为该基类为系统维护,所以自动添加时间戳的behavior就不在基类添加,而是在对应模块的模型下插入到behavior。

<?php
namespace common\models;
use Yii;
class Files extends \yii\db\ActiveRecord
{
      //以下代码内容忽略
}
  1. 在自定义模块下的models创建用于继承基类模型的Files.php;
  2. 引入Yii的TimestampBehavior;
  3. 在模型内添加behavior,并且设置class为“TimestampBehavior::className()”,attributes内的“EVENT_BEFORE_INSERT”为插入数据时更新的时间戳字段,“EVENT_BEFORE_UPDATE”为更新数据时更新时间的字段,两个字段的定义可以根据数据表设计而设置。
<?php
namespace api\modules\v1\models;
use Yii;
use yii\behaviors\TimestampBehavior;
use common\models\Files as FilesModel;
class Files extends FilesModel
{
      public function behaviors()
    {
        return [
            [
                'class' => TimestampBehavior::className(),
                'attributes' => [
                    FilesModel::EVENT_BEFORE_INSERT => ['create_time', 'update_time'],
                    FilesModel::EVENT_BEFORE_UPDATE => ['update_time'],
                ],
            ],
        ];
    }
      //以下代码内容忽略
}
上一篇 下一篇

猜你喜欢

热点阅读