Если вы используете привязку модели маршрута (как кажется), обязательно используйте соответствующую конечную точку для обновления вашего ресурса:
PUT /products/{product}
// so this means, for example:
PUT /products/3
Затем Laravel автоматически найдет Продукт с id
из 3.
public function update(Request $request, Product $product) // <-- here is injected.
{
// the rest of your code..
}
Другой вариант - найти ресурс вручную.Если ваш маршрут такой:
PUT /products/{id}
Найдите его, если хотите легко управлять ответом:
public function update(Request $request)
{
// find it
$product = Product::find($request->get('id'));
// check if exists
if (! $product)
{
return response()->json(['errors' => 'This product does not exist, dude!'], 404);
}
// the rest of your code..
}
или вот так, чтобы выдать исключение:
public function update(Request $request)
{
// find it
$product = Product::findOrFail($request->get('id'));
// the rest of your code..
}