我正在 Laravel 中创建一个搜索页面,但无法理解如何使用分页方法来实现此用途。
我在其他地方使用过它,但不是这样的。
所以我的路线是:
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'));
});
这给了我标题中的错误。如果我不使用分页方法,那么它工作正常。
我哪里出错了?
附注作为旁注,我知道我不应该在 route 执行数据库操作,仍然应该思考如何在 route 使用 Controller 等中的功能,但这不适合这里。
最佳答案
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'));
});
关于php - Laravel - 在非对象上调用成员函数 paginate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27651433/