Функция ->find()
возвращает экземпляр Eloquent Model
, после чего вы можете вызвать ->save()
для экземпляра модели.
Вы используете ->get()
, который возвращает Collection
.
Чтобы обновить ваш запрос (, который может быть нацелен на одну или несколько записей ), просто выполните оператор обновления непосредственно из QueryBuilder, заменив ->get()
на ->update(['med_obs' => $request->med_obs])
.
Имейте в виду, что при этом вы теперь используете Fluent запросы, а не eloquent. Это означает, что любая логика, определенная вами в функции boot
вашей модели, не оценивается.
Если вы уверены, что у вас есть только один результат, вы можете добавить ->first()
к вашему запросу, который вернет модель первого результата, которая соответствует вашему предложению ->where
. Затем вы можете позвонить ->save()
на это:
$user = Pac::find($request->pac_id);
$element = query()->where('med_cart', $user->pac_id)->first();
$element->med_obs = $request->med_obs;
$element->save();