【发布时间】:2014-05-01 01:05:55
【问题描述】:
我有一个项目列表,我希望能够使用视图中的一些按钮进行过滤(显示,哪些是活动的,只显示以某个字母开头的,等等),我正在为每种可能的组合,一旦我有超过 3 个按钮要过滤,就会失控。
所以我想根据按下的按钮在我的初始查询中添加一个 where 子句,但到目前为止我没有工作,我不知道它是否是分页:
(这是一个只有一个按钮的示例,我稍后会添加更多条件,但这还不行)。
public function index()
{
$hostesses = Hostess::orderBy('lastname', 'asc')
->paginate(30);
if (Input::has('l')){
$hostesses->where('lastname', 'like', Input::get('l').'%');
}
$this->layout->content = View::make('hostesses.index', compact('hostesses'));
}
我在视图中收到此错误:
ErrorException
call_user_func_array() expects parameter 1 to be a valid callback, class 'Illuminate\Support\Collection' does not have a method 'where'
【问题讨论】:
-
您可能需要在分页调用之前执行此操作。
-
是的,就像 Jessica 提到的那样,您可能需要将 if 语句放在 ->paginate 之前。这样你也可能会遇到错误,然后我建议连接我认为可行的变量。