示例#1
0
 /**
  * @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;
 }
示例#2
0
 private function getZanyatie($tema, $chast)
 {
     $q = ZanyatieChastiTemy::findOne(['tema' => $tema, 'chast_temy' => $chast]);
     return Zanyatie::findOne(['id' => $q]);
 }
示例#3
0
 private function internalDelete()
 {
     ZanyatieChastiTemy::deleteAll(['zanyatie' => $this->id]);
     return parent::delete();
 }
示例#4
0
 /**
  * @return ActiveQuery
  */
 public function getZanyatiya_chastej_tem_rel()
 {
     return $this->hasMany(ZanyatieChastiTemy::className(), ['zanyatie' => 'id']);
 }
示例#5
0
 /**
  * @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;
 }