Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php larvel-对非对象调用成员函数paginate()_Php_Laravel_Pagination - Fatal编程技术网

Php larvel-对非对象调用成员函数paginate()

Php larvel-对非对象调用成员函数paginate(),php,laravel,pagination,Php,Laravel,Pagination,我正在用Laravel做一个搜索页面,无法理解如何使用paginate方法来实现这种用法 我在别的地方用过,但不是这样 所以我的路线是: Route::get('search', function() { $q = Input::get('srch-term'); $searchTerms = explode(' ', $q); $query = DB::table('blogs'); foreach($searchTerms as $term) { $query-

我正在用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方法,那么它可以正常工作

我哪里做错了


另请注意,我知道我不应该在路由中做我的DB事情,仍然在思考如何在路由中使用控制器等的函数,但这不适用于这里。

你不能这样调用paginate。你必须有雄辩的集合。试着在
$results=$query->get()->paginate(15)中删除
->get()
rowNo创建blog雄辩类并使用查询id创建
where
。然后分页。@Rolice查询生成器也允许分页,不是吗?这个片段来自其他地方。但是,无需使用查询生成器,只需将查询放在一行:
$results=DB::table('blogs')->where('blogtitle','LIKE','%'。$term'%')->where('tags','LIKE','%'。$term'%')->orderBy('id','desc')->分页(15)我们成功了:)
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')); 
});