Первая ошибка довольно ясна:
BadMethodCallException: вызов неопределенного метода Illuminate \ Database \ Eloquent \ Builder :: save ()
это потому, что вывызывают метод ->save()
в построителе запросов вместо фактического экземпляра модели (Bridge
).Чтобы решить эту проблему, сначала найдите элемент для обновления с помощью метода ->first()
.
$bridge = Bridge::where('bridge_id',$id)->first();
// Instead of: $bridge = Bridge::where('bridge_id',$id);
Или даже лучше, учитывая, что вам нужно найти элемент ... почему бы не использовать этот метод?
$bridge = Bridge::find($id);
Проверьте документацию по этой теме: Получение отдельных моделей / агрегатов .
Затем следующая ошибка:
Столбец не найден: 1054 Неизвестный столбец id
, кажется, потому что Laravel не знает, что ваш первичный ключ - bridge_id
вместо id
.По умолчанию Laravel будет искать первичный ключ с именем id
, если пользовательский первичный ключ не указан.
Чтобы решить эту проблему, перейдите к вашей модели Bridge
и добавьте:
// Bridge.php
protected $primaryKey = 'bridge_id';
Для получения дополнительной информации, относящейся к Условные обозначения , см. Документацию .