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

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

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

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

你可能感兴趣的:(Yii2 模型添加自动维护时间戳)