/** * @param Zanyatie $zanyatie * @param ZanyatieChastiTemy|null $zct * @return bool * @throws BadRequestHttpException */ private function saveZanyatieWithZct($zanyatie, $zct) { $zctsForCheck = $zct ? [$zct] : $zanyatie->getZanyatiya_chastej_tem_rel()->all(); if ($zanyatie->getHasIntersectOthers($zctsForCheck)) { throw new BadRequestHttpException('Intersects with others'); } if (!$zanyatie->save()) { return false; } if ($zct !== null) { $zct->zanyatie = $zanyatie->id; if (!$zct->save()) { return false; } } return true; }
private function getZanyatie($tema, $chast) { $q = ZanyatieChastiTemy::findOne(['tema' => $tema, 'chast_temy' => $chast]); return Zanyatie::findOne(['id' => $q]); }
private function internalDelete() { ZanyatieChastiTemy::deleteAll(['zanyatie' => $this->id]); return parent::delete(); }
/** * @return ActiveQuery */ public function getZanyatiya_chastej_tem_rel() { return $this->hasMany(ZanyatieChastiTemy::className(), ['zanyatie' => 'id']); }
/** * @param ChastTemy $chastTemy * @return Zanyatie|null */ private function zanyatieChastiTemy($chastTemy) { $zct = ZanyatieChastiTemy::findOne(['tema' => $chastTemy->tema->id, 'chast_temy' => $chastTemy->chast]); if (!$zct) { return null; } return $zct->zanyatie_rel; }