public function afterSave() { $res = BasespecialityRelation::model()->deleteAll("PersonBaseSpecialityID = {$this->idPersonBaseSpeciality}"); if (!empty($this->speciality) && is_array($this->speciality)) { foreach ($this->speciality as $val) { $item = new BasespecialityRelation(); $item->SpecialityID = $val; $item->PersonBaseSpecialityID = $this->idPersonBaseSpeciality; $item->save(); } } // return parent::afterSave(); }
/** * DropDownMask * @param type $FacultetID * @param type $EducationFormID * @param type $QualificationID * @param type $BaseSpecID * @return string */ public static function DropDownMask($FacultetID = 0, $EducationFormID = 0, $QualificationID = 0, $BaseSpecID = 0) { $user = Yii::app()->user->getUserModel(); $records = array(); $res = array(); $mask = ""; if ($QualificationID == 3) { $mask = "7"; } if ($QualificationID == 2) { $mask = "8"; } if ($QualificationID == 1) { $mask = "6"; } if ($FacultetID == 0 || $EducationFormID == 0 || $QualificationID == 0) { //$records = Specialities::model()->findAll("SpecialityClasifierCode like '7%' or SpecialityClasifierCode like '8%'"); } else { $records = Specialities::model()->findAll("FacultetID = :FacultetID and PersonEducationFormID = :EducationFormID and SpecialityClasifierCode like '{$mask}%'", array(":FacultetID" => $FacultetID, ":EducationFormID" => $EducationFormID)); } $bs = array(); if ($BaseSpecID > 0) { $doc = Documents::model()->findByPk($BaseSpecID); if (!empty($doc->PersonBaseSpecealityID)) { $rel = BasespecialityRelation::model()->findAll("PersonBaseSpecialityID = {$doc->PersonBaseSpecealityID}"); foreach ($rel as $item) { $bs[] = $item->SpecialityID; } } } //Yii::log(print_r($BaseSpecID,1)); //Yii::log(print_r($bs,1)); foreach ($records as $record) { if (!empty($bs)) { if (in_array($record->idSpeciality, $bs)) { $res[$record->idSpeciality] = (!empty($record->SpecialityName) ? $record->SpecialityName . " " : "") . $record->SpecialityDirectionName . (!empty($record->SpecialitySpecializationName) ? ": " . $record->SpecialitySpecializationName . " " : "") . "(" . $record->SpecialityClasifierCode . ")"; if (!empty($record->PersonEducationFormID)) { switch ($record->PersonEducationFormID) { case "1": $res[$record->idSpeciality] .= "(Д)"; break; case "2": $res[$record->idSpeciality] .= "(З)"; break; case "3": $res[$record->idSpeciality] .= "(Е)"; break; } } } } else { $res[$record->idSpeciality] = (!empty($record->SpecialityName) ? $record->SpecialityName . " " : "") . $record->SpecialityDirectionName . (!empty($record->SpecialitySpecializationName) ? ": " . $record->SpecialitySpecializationName . " " : "") . "(" . $record->SpecialityClasifierCode . ")"; if (!empty($record->PersonEducationFormID)) { switch ($record->PersonEducationFormID) { case "1": $res[$record->idSpeciality] .= "(Д)"; break; case "2": $res[$record->idSpeciality] .= "(З)"; break; case "3": $res[$record->idSpeciality] .= "(Е)"; break; } } } } //Yii::log(print_r($res, 1)); return $res; }