reuest()->all()
向laravel> 5.4添加不必要的参数。
通过调用$request->all()
,它将在您的数组中添加额外的参数,看起来像是“ master_route / controller / method_of_controller”。
例如:“ admin/mycontroller/updatemethod
”。
如何删除此不必要的参数?
答案 0 :(得分:1)
有多种获取请求数据的方法,您可以根据需要使用以下功能之一
如果只想从请求中获取选定的数据,则可以使用。它将仅获取用户名和密码。
$ input = $ request-> only([['username','password']));
如果要获取除某些字段以外的所有数据,请使用
$ input = $ request-> except('credit_card');
答案 1 :(得分:1)
由于您正在执行update
,因此我猜您正在执行PATCH
或POST
请求,在这种情况下,您应该在手册中查找form request validation
如果我的假设正确,则应使用$request->validated()
仅获取已通过验证的数据。这样就能用一块石头杀死两只鸟:您只获得所需的数据,并确保数据有效。
简要介绍一下代码示例:
class BlogPostController extends Controller
{
public function store(UpdateBlogPost $request)
{
// Retrieve only the validated input data...
$validated = $request->validated();
}
}
class UpdateBlogPost extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
];
}
}
现在,$request->validated()
仅包含title
和body
。
答案 2 :(得分:0)
尝试使用由request()-> all()插入的request()-> post()