Laravel未定义的请求变量

时间:2018-11-16 21:58:48

标签: laravel eloquent

我有一个简单的搜索/排序代码段,该代码段正在我的所有模型上运行,由于某种原因,它破坏了其中一个模型。模型和控制器文件在输入内容等方面看起来完全相同,所以我不确定问题出在哪里。此代码旨在运行URL令牌,例如:/doctors?search=bob&sortBy=first_name&sort=asc。可以在我所有其他型号上使用。

代码块

// Searches, sorts, and filters
$search = $request->search;
$sort = ($request->sort == null ? 'asc' : $request->sort);
$sortBy = ($request->sortBy == null ? 'prescribe_date' : $request->sortBy);

这将返回以下错误:Undefined variable: request

并指向上面代码块中的行。我以为可能是因为没有三元组可以进行空搜索,但即使将其修复也指向下一个$ sort行。

2 个答案:

答案 0 :(得分:1)

您设置了

  

请求$ request

作为定义函数时的参数?就像this片段中一样。

否则$ request是未定义的。

答案 1 :(得分:1)

要通过依赖注入获得当前HTTP请求的实例,应在控制器方法上键入提示Illuminate \ Http \ Request类。传入的请求实例将由服务容器自动注入:

public function store(Request $request)
    {
        $search = $request->search;
    }