Symfony\Component\HttpFoundation\ParameterBag 类的对象无法转换为字符串

Mil*_*tel 2 php symfony laravel-5.6

受影响的 Symfony 版本:~4.0

描述 我正在使用 laravel(5.6.*) 并编写简单的 eloquent 查询如下。

$query = "something";
$products = Product::
where('title', $query)
->paginate($limit);
Run Code Online (Sandbox Code Playgroud)

但我得到“类 Symfony\Component\HttpFoundation\ParameterBag 的对象无法转换为字符串”

昨天它工作得很好,今天我不知道发生了什么。请帮我解决一下这个。我正在使用该查询提供简单的搜索功能。

请检查屏幕截图以获取更多信息。 在此处输入图片说明

更新

请查看新代码,但仍然没有运气。

function get(Request $request) {
        $limit = 10;
        $query = "";
        if ($request->has('limit')) {
            $limit = $request->limit;
        }
        if ($request->has('query')) {
            $query = $request->query;
        }

        $products = Product::
                where('title','like', '%'.$query.'%')
                ->orWhere('variant_title', 'like', '%'.$query.'%')
                ->orWhere('variant_sku', 'like', '%'.$query.'%')
                ->orWhere('tags', 'like', '%'.$query.'%')
                ->paginate($limit);


        $products = $products->withPath('/products');
        return $products;
    }
Run Code Online (Sandbox Code Playgroud)

Mil*_*tel 14

哦,经过大量时间调试后,我发现
您不能使用“查询”键作为您的请求,因为它在包中使用。

我觉得他们应该提到他们在课堂上使用的参数。

所以最终的代码是这样的。

function get(Request $request) {
    $limit = 10;
    $str = "";
    if ($request->has('limit')) {
        $limit = $request->limit;
    }
    if ($request->has('str')) {
        $str = $request->str;
    }

    $products = Product::
            where('title','like', '%'.$str.'%')
            ->orWhere('variant_title', 'like', '%'.$str.'%')
            ->orWhere('variant_sku', 'like', '%'.$str.'%')
            ->orWhere('tags', 'like', '%'.$str.'%')
            ->paginate($limit);


    $products = $products->withPath('/products');
    return $products;
}
Run Code Online (Sandbox Code Playgroud)