private function getZanyatie($tema, $chast) { $q = ZanyatieChastiTemy::findOne(['tema' => $tema, 'chast_temy' => $chast]); return Zanyatie::findOne(['id' => $q]); }
public function actionPrepodavatelPeresechenie($kurs, $data, $nomer) { $zanyatie = Zanyatie::findOne(compact('kurs', 'data', 'nomer')); if (!$zanyatie) { throw new NotFoundHttpException(); } $zanyatieSubQuery = \app\records\Zanyatie::find()->select(['zanyatie_kurs' => 'kurs'])->where(['and', ['<>', 'id', $zanyatie->id], ['data' => $data, 'nomer' => $nomer, 'prepodavatel' => $zanyatie->prepodavatel]]); $dataProvider = new ActiveDataProvider(['query' => Kurs::find()->innerJoin(['z' => $zanyatieSubQuery], 'kurs.id = z.zanyatie_kurs'), 'pagination' => false]); return PrepodavatelPeresechenieContent::widget(['zanyatie' => $zanyatie, 'dataProvider' => $dataProvider]); }
/** * Find zanyatiya with peresechenie on prepodavatel * @return ActiveQuery */ public static function customFind() { $subQuery = parent::find()->select(['zanyatie_peresechenie_id' => 'id', 'zanyatie_peresechenie_prepodavatel' => 'prepodavatel', 'zanyatie_peresechenie_data' => 'data', 'zanyatie_peresechenie_nomer' => 'nomer']); return parent::find()->select(['zanyatie.*', 'prepodavatel_peresechenie' => 'count(zanyatie_peresechenie_id)>0'])->leftJoin(['zp' => $subQuery], ['and', 'zp.zanyatie_peresechenie_id <> zanyatie.id', 'zp.zanyatie_peresechenie_prepodavatel = zanyatie.prepodavatel', 'zp.zanyatie_peresechenie_data = zanyatie.data', 'zp.zanyatie_peresechenie_nomer = zanyatie.nomer'])->groupBy('zanyatie.id'); }
public function getZanyatie_rel() { return $this->hasOne(Zanyatie::className(), ['id' => 'zanyatie']); }
public function init() { parent::init(); $this->activeRelationMap = [\app\records\PodrazdelKursa::className() => PodrazdelKursa::className(), \app\records\Zanyatie::className() => Zanyatie::className()]; }
/** * @return ActiveQuery */ public function getZanyatiya_rel() { return $this->hasMany(Zanyatie::className(), ['id' => 'zanyatie'])->via('zanyatiya_chastej_tem_rel'); }
private function internalDelete() { ZanyatieChastiTemy::deleteAll(['zanyatie' => $this->id]); return parent::delete(); }