[ 'name', 'email', 'question', 'service_id' ], self::SCENARIO_ANSWER => [ 'answer', 'status' ], ] ); return $scenarios; } /** * @inheritdoc */ public function behaviors() { return [ [ 'class' => TimestampBehavior::className(), ], ]; } /** * {@inheritdoc} */ public function rules() { return [ [ ['name', 'email', 'question'], 'required', 'on' => self::SCENARIO_QUESTION ], [ [ 'status' ], 'boolean', ], [ [ 'service_id', 'created_at', 'updated_at', ], 'default', 'value' => null, ], [ [ 'service_id', 'created_at', 'updated_at', ], 'integer', ], [ [ 'name', 'email', ], 'string', 'max' => 255, ], [ ['question', 'answer'], 'string' ], [ [ 'service_id' ], 'exist', 'skipOnError' => true, 'targetClass' => Service::className(), 'targetAttribute' => [ 'service_id' => 'id' ], ], [ 'email', 'email' ] ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => Yii::t('app', 'ID'), 'name' => Yii::t('app', 'Name'), 'email' => Yii::t('app', 'Email'), 'question' => Yii::t('app', 'Question'), 'status' => Yii::t('app', 'Status'), 'service_id' => Yii::t('app', 'Service ID'), 'created_at' => Yii::t('app', 'Created At'), 'updated_at' => Yii::t('app', 'Updated At'), ]; } /** * @return \yii\db\ActiveQuery */ public function getService() { return $this->hasOne(Service::className(), [ 'id' => 'service_id' ]); } }