private function rukovoditeliKursov() { if ($this->_rukovoditeliKursov === null) { $data = FizLico::find()->joinWith('polzovateli_rel')->orderBy('familiya, imya, otchestvo')->groupBy('fiz_lico.id')->where(Yii::$app->db->quoteValue(Rol::RUKOVODITEL_KURSOV) . ' = any ([[roli]])')->asArray()->all(); $this->_rukovoditeliKursov = ArrayHelper::map($data, 'id', function ($fizLico) { return Yii::$app->formatter->asFizLico($fizLico); }); } return $this->_rukovoditeliKursov; }
/** * @param $kurs * @return ActiveQuery */ public static function findForKurs($kurs) { return parent::find()->select(['fiz_lico.*', 'kurs' => 'kurs_fiz_lica.kurs', 'status' => 'kurs_fiz_lica.status', 'iup' => 'kurs_fiz_lica.iup'])->with('raboty_fiz_lica_rel')->joinWith('kursy_fiz_lica_rel', false)->where(['kurs_fiz_lica.kurs' => $kurs]); }