Пример #1
0
 public function set()
 {
     $this->id = $this->id > 0 ? $this->id : null;
     $this->doctor_id = $this->doctor_id > 0 ? $this->doctor_id : null;
     $this->hosp_id = $this->hosp_id > 0 ? $this->hosp_id : null;
     if ($this->phone != '') {
         $this->phone = preg_replace('/[^0-9]/', '', $this->phone);
         $cnt = mb_strlen($this->phone);
         if ($cnt != 11) {
             Core::error("Поле <strong>Телефон</strong> должно состоять из 10 цифр + код страны", 'phone');
         }
     }
     $this->fld_name['hosp_id'] = 'Больница';
     $this->fld_name['dt_bd_format'] = 'День рождения';
     $ar = ['name_f' => 'req', 'name_i' => 'req', 'name_o' => 'req', 'dt_bd_format' => 'req', 'hosp_id' => 'req'];
     $this->validate_ar($ar);
     if (Core::hasError() === true) {
         return;
     }
     list($d, $m, $Y) = explode('.', $this->dt_bd_format);
     $this->dt_bd = Core::format_date($Y, $m, $d, 'Y-m-d');
     if ($this->pas_kogda_dt_format != '') {
         list($d, $m, $Y) = explode('.', $this->pas_kogda_dt_format);
         $this->pas_kogda_dt = Core::format_date($Y, $m, $d, 'Y-m-d');
     } else {
         $this->pas_kogda_dt = null;
     }
     $fld = $params = [];
     $fld['hosp_id'] = $this->hosp_id;
     $fld['doctor_id'] = $this->doctor_id;
     $fld['name_f'] = $this->name_f;
     $fld['name_i'] = $this->name_i;
     $fld['name_o'] = $this->name_o;
     $fld['phone'] = $this->phone;
     $fld['dt_bd'] = $this->dt_bd;
     $fld['add_oblast_id'] = $this->add_oblast_id;
     $fld['add_city_id'] = $this->add_city_id;
     $fld['add_street'] = $this->add_street;
     $fld['add_d'] = $this->add_d;
     $fld['add_k'] = $this->add_k;
     $fld['add_kv'] = $this->add_kv;
     $fld['pas_ser'] = $this->pas_ser;
     $fld['pas_num'] = $this->pas_num;
     $fld['pas_kem'] = $this->pas_kem;
     $fld['pas_kogda_dt'] = $this->pas_kogda_dt;
     $fld['pas_add_oblast_id'] = $this->pas_add_oblast_id;
     $fld['pas_add_city_id'] = $this->pas_add_city_id;
     $fld['pas_add_street'] = $this->pas_add_street;
     $fld['pas_add_d'] = $this->pas_add_d;
     $fld['pas_add_k'] = $this->pas_add_k;
     $fld['pas_add_kv'] = $this->pas_add_kv;
     $fld['ank_soc'] = $this->ank_soc;
     $fld['ank_obraz'] = $this->ank_obraz;
     $fld['ank_sem'] = $this->ank_sem;
     $fld['ank_d'] = $this->ank_d;
     $fld['ank_like'] = $this->ank_like;
     foreach ($this->var_vred['data'] as $key => $item) {
         $fld['vred_' . $key] = $this->vred[$key];
     }
     foreach ($this->var_prof['data'] as $key => $item) {
         $fld['prof_' . $key] = $this->prof[$key];
     }
     $fld['prof_month'] = $this->prof_month;
     if ($this->id === null) {
         $fld_auth = [];
         $fld_auth['t'] = 'mam';
         $fld_auth['role'] = null;
         \yii::$app->db->createCommand()->insert('auth', $fld_auth)->execute();
         $this->id = \yii::$app->db->getLastInsertID('auth_id_seq');
         $fld['auth_id'] = $this->id;
         \yii::$app->db->createCommand()->insert('auth_mam', $fld)->execute();
     } else {
         $params['auth_id'] = $this->id;
         $where = 'auth_id=:auth_id';
         \yii::$app->db->createCommand()->update('auth_mam', $fld, $where, $params)->execute();
     }
 }