Как обновить значение столбца в laravel

У меня есть модель страницы. Он имеет следующие столбцы в таблице базы данных:

  • ID
  • название
  • Изображение
  • Тело

Я хочу обновить только значение столбца "image".

Здесь мой код:

public function delImage($path, $id) {
    $page = Page::find($id);
    $page->where('image', $path)->update(array('image' => 'asdasd'));
    \File::delete($path);
}

он выдает мне ошибку, что я пытаюсь использовать where() для не-объекта. Как я могу правильно обновить значение столбца "image"?

Ответ 1

Вы можете попробовать следующее:

Page::where('id', $id)->update(array('image' => 'asdasd'));

Есть и другие способы, но не нужно использовать Page::find($id); в этом случае. Но если вы используете find(), вы можете попробовать следующее:

$page = Page::find($id);

// Make sure you've got the Page model
if($page) {
    $page->image = 'imagepath';
    $page->save();
}

Также вы можете использовать:

$page = Page::findOrFail($id);

Таким образом, это вызовет исключение, если модель с этим идентификатором не найдена.