/
v.bolshakov
/
AIEcosystem-Testing
Обзор
Документация
Войти
/
v.bolshakov
/
AIEcosystem-Testing
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
common/models/TaskQuery.php
74 строки
2 KB
Developer
Initial commit
03 авг 2026, 17:43
03 авг 2026, 17:43
7433917
Код
Авторство
О чём код?
<?php namespace common\models; use common\behaviors\UserQueryBehavior; use common\helpers\ArrayHelper; /** * Таблица - задачи * * @author Dmitry E. Semenov <sde.tomsk@gmail.com> * @copyright Self (c) 2024 */ class TaskQuery extends \common\models\base\BaseQuery { /** * @inheritdoc */ public function behaviors() { return ArrayHelper::merge(parent::behaviors(), [ 'UserQueryBehavior' => [ 'class' => UserQueryBehavior::className(), 'query' => function ($query, $user_id) { $a = $query->alias; return $query ->alias($a) ->innerJoin(['ut' => UserTask::tableName()], $a . '.id = ut.task_id') ->andWhere(['ut.user_id' => $user_id]); } ], ]); } /** * Задачи по умолчанию * @return TaskQuery */ public function prepareDefault($type = 'inner') { $a = $this->alias; if ($type == 'inner') { return $this ->alias($a) ->innerJoin(['td' => TaskDefault::tableName()], $a . '.id = td.task_id'); } else { return $this ->alias($a) ->leftJoin(['td' => TaskDefault::tableName()], $a . '.id = td.task_id'); } } /** * Задачи клонируемые * @param $type * @return TaskQuery */ public function prepareCloned($type = 'inner') { $a = $this->alias; if ($type == 'inner') { return $this ->alias($a) ->innerJoin(['ct' => ClonedTask::tableName()], $a . '.id = ct.cloned_task_id'); } else { return $this ->alias($a) ->leftJoin(['ct' => ClonedTask::tableName()], $a . '.id = ct.cloned_task_id'); } } }