我正在Laravel中创建一个搜索页面,并且无法理解如何使用paginate方法进行此用法。
我在其他地方使用过它,但不是这样。
所以我的路线是:
Route::get('search', function()
{
$q = Input::get('srch-term');
$searchTerms = explode(' ', $q);
$query = DB::table('blogs');
foreach($searchTerms as $term)
{
$query->where('blogtitle', 'LIKE', '%'. $term .'%')
->where('frontpage', '1')
->orderBy('id', 'desc');
}
$results = $query->get()->paginate(15);
$countBuilds = count($results);
return View::make('search', compact('results'));
});
这给了我标题中的错误。如果我不使用paginate方法,那么它可以正常工作。
我哪里错了?
P.S。作为旁注,我知道我不应该在路线中做我的DB事情,仍然在如何使用路径中的控制器等功能,但这不是在这里。
答案 0 :(得分:3)
Route::get('search', function()
{
$q = Input::get('srch-term');
$searchTerms = explode(' ', $q);
$query = DB::table('blogs');
foreach($searchTerms as $term)
{
$query = $query->where('blogtitle', 'LIKE', '%'. $term .'%')
->where('frontpage', '1')
->orderBy('id', 'desc');
}
//remove ->get()
$results = $query->paginate(15);
$countBuilds = count($results);
return View::make('search', compact('results'));
});