所以我在我的模型中有这个功能。
public function behaviors() {
return [
TimestampBehavior::className(),
];
}
created_at
和updated_at
按预期工作。
但每当数据更新时,我都需要在updated_at
传递一段时间。
我该怎么做?似乎无法找到任何资源。
答案 0 :(得分:0)
public function behaviors() {
return [
'timestamp' => [
'class' => 'yii\behaviors\TimestampBehavior',
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
],
'value' => time(),
],
];
}
如果您的模型文件具有created_date
和updated_date
用于存储时间戳
并为created_date
和updated_date
设置规则不是必需的。
答案 1 :(得分:-1)
只需使用preserveNonEmptyValues
属性(自2.0.13版开始可用):
public function behaviors() {
return [
[
'class' => TimestampBehavior::className(),
'preserveNonEmptyValues' => true,
]
];
}