如何在Yii2模型中写出优雅的行为?

时间:2017-05-03 09:28:14

标签: php web yii2

当我编写模型的方法behaviors时。返回值中定义了一些行为。请查看以下代码:

'timestamp' => [
    'class' => 'yii\behaviors\TimestampBehavior',
    'attributes' => [
        ActiveRecord::EVENT_BEFORE_INSERT => ['submitTime'],
    ],

这意味着属性submitTime将自动生成。我想判断属性submitTime是否为空。它将在null时生成。我达到了这样的目标:

'value' => function ($event) {
    if ($this->submitTime) {
        return $this->submitTime;
    }
    return time();
},

有没有一种优雅的方式来实现我的想法?

1 个答案:

答案 0 :(得分:0)

您可以将其转换为1-liner:

'value' => function ($event) {
    return $this->submitTime ?: time();
},