我有一个项目列表,我希望能够使用视图中的某些按钮进行过滤(显示,它们是活动的,仅显示以某个字母开头的那些等)并且我正在进行不同的查询每个可能的组合,一旦我有超过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'
答案 0 :(得分:5)
$hostesses = Hostess::orderBy('lastname', 'asc');
if (Input::has('l')){
$hostesses->where('lastname', 'like', Input::get('l').'%');
}
$results = $hostessess->paginate(30);
那样的东西?