Я учусь использовать codeigniter с библиотекой rest_controller.
Я ищу, чтобы обновить некоторые значения в таблице в моей базе данных.
У меня в контроллере:
public function guest_patch(){
$idperson = $this->uri->segment(3);
$person = array(
'fiscalcode' => $this->input->post('fiscalcode'),
'name' => $this->input->post('name'),
'surname' => $this->input->post('surname')
);
$this->load->model('Person_model');
$data = $this->Person_model->patch($idperson, $person);
$this->response($data);
}
, а в моей модели:
public function patch($idperson, $person){
$this->fiscalcode = $person['fiscalcode'];
$this->name = $person['name'];
$this->surname = $person['surname'];
$result = $this->db->update('Persons', $this, array('id' => $idperson));
if($result){
return("Dati aggiornati");
}
}
У меня к вам два вопроса:
1) В этом случае, когда я запускаю метод update , значения в моей базе данных удаляются (или заменяются на 0). Фактически я попытался напечатать $ person в моей модели, и все значения, которые я передал (используя почтальон), пусты. Хотя, если я вставлю данные вручную в контроллер, как:
'fiscalcode' =>'NewFiscalCode'
, данные в дБ будут обновлены. Как я могу сделать, чтобы обновить значения, которые я восстановил из данных формы (в момент, когда я передаю с помощью почтальона)?
2) Если я не хочу обновлять значение и поэтому я покидаю поле пусто (например, я написал в форме данных только имя и фамилию, но я не хочу менять поле фискального кода), данные в БД об этом поле "фискальный код" будут удалены?
Спасибо