对yii2 内置的behavior理解(TimestampBehavior篇) [ 新手入门 ]
*TimestampBehavior: 自动把时间戳填充指定的属性
<?php
use yii\behaviors\TimestampBehavior;
public function behaviors()
{
return [
// 匿名行为, 只有行为类名,这样写了之后,所有的一切都要遵循TimestampBehavior的要求
TimestampBehavior::class,
];
}
?>
<?php
use yii\behaviors\TimestampBehavior;
public function behaviors()
{
return [
[ // 匿名行为, 配置数组
'class' => TimestampBehavior::class, // 行为类
'attributes' => [
// 当insert时,自动把当前时间戳填充填充指定的属性(created_at),
// 当然, 以下键值也可以是数组,
// eg: ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
ActiveRecord::EVENT_BEFORE_INSERT => 'created_at',
// 当update时,自动把当前时间戳填充指定的属性(updated_at)
ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
],
],
];
}
?>
<?php
use yii\behaviors\TimestampBehavior;
public function behaviors()
{
return [
[ // 匿名行为, 配置数组
'class' => TimestampBehavior::class, // 行为类
// 修改更新时 时间戳赋值的属性: 当修改时,把时间戳赋值给deleted_at
// 该属性可根据自己数据表的设计动态更改
'updatedAtAttribute' => 'deleted_at',
// 如果数据表中没有updated_at字段,则可定义updatedByAttribute为false
// 'updatedByAttribute' => false
'createdByAttribute' => 'createdAt', // 同上
],
];
}
?>
<?php
use yii\behaviors\BlameableBehavior;
public function behaviors()
{
return [
[ // 匿名行为, 配置数组
'class' => TimestampBehavior::class, // 行为类
// 传递的值, 默认情况下是当前时间戳, 如果定义了value,则使用当前定义的value值
'value' => function($event) { // 匿名函数方式,该方式一般用于处理较为复杂的逻辑, 一般情况下,我们会使用这种方式: 'value' => time() + 86400
// 自动填充值: 可在这里定义相应的数据
return time() + 86400;
},
],
];
}
?>
*以上可视情况综合使用
上一篇: 对yii2 内置的behavior理解(BlameableBehavior篇)
下一篇: 对yii2 扩展behavior理解(PinyinBehavior篇)
共 0 条回复
没有找到数据。
zhoupenghui
注册时间:2016-04-29
最后登录:2020-08-20
在线时长:44小时43分
最后登录:2020-08-20
在线时长:44小时43分
- 粉丝3
- 金钱870
- 威望120
- 积分2510