2017-05-03 11 views
0

モデルのメソッドbehaviorsを書くとき。戻り値にはいくつかの振る舞いが定義されています。次のコードを見てください:Yii2のモデルでエレガントな振る舞いを書くには?

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

これは、属性submitTimeが自動的に生成されることを意味します。属性submitTimeがnullかどうかを判断したいnullのときに生成されます。私はこのように達成する:

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

私の考えを達成するためのエレガントな方法はありますか?

答えて

0

あなたは1ライナーに変換することができます:

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

私はこの構文を知っています。属性 'value'を使わない他の方法があります –

+0

実際に何を望んでいるのか分かりません。 – robsch

+0

;(これについてはわかりません。 –