255], [['active'], 'boolean'], [['active'], 'default', 'value' => true], [['description'], 'string'], [['last_triggered_at'], 'integer'], [['task_ids', 'trigger_ids'], 'each', 'rule' => ['integer']], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => Yii::t('app', 'ID'), 'active' => Yii::t('app', 'Активен'), 'name' => Yii::t('app', 'Название'), 'description' => Yii::t('app', 'Описание'), 'last_triggered_at' => Yii::t('app', 'Дата Последней Активации'), 'trigger_ids' => Yii::t('app', 'Триггеры'), 'task_ids' => Yii::t('app', 'Задачи'), ]; } /** * @inheritdoc */ public function behaviors() { return [ [ 'class' => LinkerBehavior::className(), 'relations' => [ 'trigger_ids' => 'triggers', 'task_ids' => 'tasks', ], ], ]; } /** * @return \yii\db\ActiveQuery */ public function getTasks() { return $this->hasMany(Task::className(), ['id' => 'task_id'])->viaTable('{{%event_task}}', ['event_id' => 'id']); } /** * @return \yii\db\ActiveQuery */ public function getTriggers() { return $this->hasMany(Trigger::className(), ['id' => 'trigger_id'])->viaTable('{{%event_trigger}}', ['event_id' => 'id']); } /** * @return array */ public static function getList() { return ArrayHelper::map(self::find()->all(), 'id', 'name'); } }