对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篇)

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页