doujie2356 2014-12-25 15:06
浏览 201
已采纳

Laravel - 在非对象上调用成员函数paginate()

I am making a search page in Laravel and cant understand how to use the paginate method for this usage.

I have used it else where, but not like this.

So my route is:

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')); 
});

That gives me the error in the title. If i dont use the paginate method then it works fine.

Where am I going wrong?

P.S. As a side note, I know I shouldn't be doing my DB things in the route, still getting my head around how to use functions from controllers etc in routes but thats not for here.

  • 写回答

1条回答 默认 最新

  • doucheng1891 2014-12-25 20:07
    关注
    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')); 
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部