为什么无法更新update呢? $request->all()为空 [已解决]
下面的问题是因为postman的Body里,要选择:x-www-form-urlencoded,不能选form-data
之前已经有相关的讨论了。
问答:为何文中最后的 patch 方法要使用 x-www-form-urlencoded 而不是 for...
原问题如下:
store方法是可以的。
update方法就无法更新了。
代码和教程一样:
public function update(TopicRequest $request, Topic $topic)
{
dd($request->all()); // 这里返回 []
$this->authorize('update', $topic);
$topic->update($request->all());
return new TopicResource($topic);
}
send之后,返回的值没有更新。
然后我把TopicRequest.php稍作修改:
public function rules()
{
switch($this->method()){
case 'POST':
return [
'title' => 'required|string',
'body' => 'required|string',
'category_id' => 'required|exists:edu_category,id'
];
break;
case 'PATCH':
return [
'title' => 'required|string', // 修改了这里
'body' => 'required|string' // 修改了这里
];
break;
}
}
再用postman
却报没有提交参数,好奇怪。
恳请学长指点。谢谢!
推荐文章: