2012-02-26 3 views
0

Мне нужно запустить запрос сохранения/обновления, но только обновить те поля, которые не пусты. Моя форма содержит поле FILE, и если я не загружаю файл, то при выполнении save() это поле пуста, даже если представлены предыдущие данные, так как я могу сохранить/обновить, но только поля с содержимым для обновления?Как обновить, но если поле пустое

Приветствия и спасибо заранее

ответ

1

В вашей модели вам нужно к ранее испытание, если не заполнен или нет, и незадана это в данном случае.

if ($this->data['file'] == "") { 
    unset($this->data['file']); 
} 
+0

Благодаря она прекрасно работает, но только одна вещь не в моей модели, где мне нужно, чтобы проверить это в моем контроллере :) – ReynierPM

+0

Зависит от вашего приложения, но я позволил бы эту задачу моей модели. Во всяком случае, пока это работает ..;) – Liyali

1

Вы всегда можете добавить условие, которое проверяет, если пользователь загружает файл или нет. Если нет, выберите текущее значение в базе данных для этого файла и обновите его со старым значением.

Например:

$update['description'] = $_POST['description']; //just another field 
if($_POST['file']['name'] == "") //check if there's a new file 
    $update['filename'] = $this->book->file_name; //current file name 
else 
    $update['filename'] = $_POST['file']['name']; //new file name in case the user uploaded a new file 

$this->book->update($update); //update no matter what 
Смежные вопросы