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(); } }