【发布时间】:2019-04-28 17:47:29
【问题描述】:
Create,Delete,Show 部分也可以正常工作。不知道有什么问题。
这是我的请求(当我调用资源路由的PUT 时):
============
Request body
============
name: John doe
detail: An insteresting detail
type: A fancy type
===============
Request Headers
===============
Accept: application/json
Authorization: Bearer my_secret_token
错误
"message": "没有模型 [App\Product] 的查询结果。"
API\控制器
public function update(Request $request, Product $product)
{
$input = $request->all();
$validator = Validator::make($input, [
'name' => 'required',
'detail' => 'required'
]);
if($validator->fails()){
return $this->sendError('Validation Error.', $validator->errors());
}
$product->name = $input['name'];
$product->detail = $input['detail'];
$product->save();
return $this->sendResponse($product->toArray(), 'Product updated successfully.');
}
【问题讨论】:
-
您需要先
find您的产品,然后再尝试更新它。 -
像
$product = Product::findOrFail($id);吗? -
我添加了一个anwser,没错。
-
他不必找到它,因为他将模型作为第二个参数注入!
-
@Matt 我们不知道它是否已从问题中显示的代码中正确注入。