255], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'action' => 'Action', 'company' => 'Company', 'status' => 'Status', 'loco_type' => 'Loco Type', 'loco_number' => 'Loco Number', 'depo' => 'Depo', 'depo_service' => 'Depo Service', 'created' => 'Created', 'tasks' => 'Tasks', 'actions_id' => 'Actions ID', ]; } public function getTask() { return $this->hasMany(Tasks::class, ['input_id' => 'id']); } public function getProjecttypes() { return $this->hasOne(Projecttypes::class, ['id' => 'action']); } public function getSections() { return $this->hasOne(Sections::class, ['id' => 'section_id']); } /** * Возвращает время первой принятой задачи проекта * * @return string|null */ public function getAcceptedTime() { $task = Tasks::find() ->select('min(accepted_time) as accepted_time') ->where(['input_id' => $this->id]) ->one() ; return $task->accepted_time; } /** * Возвращает время завершения проекта * * @return string|null */ public function getFinishedTime() { if ($this->finished_time) return $this->finished_time; if ($this->status == 5) { $task = Tasks::find() ->select('max(finished_time) as finished_time') ->where(['input_id' => $this->id]) ->one() ; return $task->finished_time; } return null; } }