$ request-> all()在laravel 5.5中添加不必要的参数

时间:2019-01-18 06:44:51

标签: laravel request laravel-5.5

reuest()->all()向laravel> 5.4添加不必要的参数。

通过调用$request->all(),它将在您的数组中添加额外的参数,看起来像是“ master_route / controller / method_of_controller”。

例如:“ admin/mycontroller/updatemethod”。

如何删除此不必要的参数?

3 个答案:

答案 0 :(得分:1)

有多种获取请求数据的方法,您可以根据需要使用以下功能之一

  1. 如果只想从请求中获取选定的数据,则可以使用。它将仅获取用户名和密码。

    $ input = $ request-> only([['username','password']));

  2. 如果要获取除某些字段以外的所有数据,请使用

    $ input = $ request-> except('credit_card');

答案 1 :(得分:1)

由于您正在执行update,因此我猜您正在执行PATCHPOST请求,在这种情况下,您应该在手册中查找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()仅包含titlebody

答案 2 :(得分:0)

尝试使用由request()-> all()插入的request()-> post()