示例#1
0
 public function actionAddCombinacion()
 {
     $id = Yii::app()->request->getParam('id');
     $model = Programa::model()->findByPk($id);
     $combi = new ProgramaCombinacion();
     $ciudad = ProgramaHasCiudad::model()->findAllByAttributes(array('programa_id' => $id));
     $ciudades = array();
     foreach ($ciudad as $ci) {
         $hotel = new ProgramaCombinacionHasHotel();
         $ciudades[] = array('ciudad' => $ci->ciudad_id, 'hotel' => $hotel);
     }
     if (isset($_POST['ProgramaCombinacion'])) {
         $combi->attributes = $_POST['ProgramaCombinacion'];
         $combi->programa_id = $id;
         $error = false;
         if (isset($_POST['Hotel'])) {
             foreach ($_POST['Hotel'] as $index => $hotel) {
                 $int = new ProgramaCombinacionHasHotel();
                 $int->attributes = $hotel;
                 $int->validate();
                 $ciudades[$index] = array('ciudad' => $hotel['ciudad_id'], 'hotel' => $int);
                 if (count($int->getErrors()) > 0) {
                     $error = true;
                 }
             }
         }
         if ($combi->validate() && $error == false) {
             if ($combi->save()) {
                 foreach ($ciudades as $ciudad) {
                     $hotel = $ciudad['hotel'];
                     $hotel->programa_combinacion_id = $combi->id;
                     $hotel->save();
                 }
                 $this->redirect(array('combinaciones', 'id' => $id));
             }
         }
     }
     $this->render('createCombinacion', array('model' => $model, 'combi' => $combi, 'ciudades' => $ciudades));
 }