Laravel - Paginating Eloquent检索结果

时间:2013-02-14 18:32:51

标签: pagination laravel eloquent

这是我在控制器中的内容

$projects=Project::where_sup_id($user_id)->get();
   $total=count($projects);
   $per_page=3;
  $projects = Paginator::make($projects, $total, $per_page);
  return View::make('project.index')->with('projects',$projects);

这在我的视图中

 @foreach ($projects->results as $project) 

      {{$project->title}}

 @endforeach


{{$projects->links();}}

但是当我在浏览器中查看它时,它显示所有页面中的所有行...链接显示完美!你认为这是什么问题?请帮忙!提前谢谢你!

1 个答案:

答案 0 :(得分:3)

您正在计算所有行,但根本没有使用limit,Laravel流畅的查询构建器具有skip()take()方法。

顺便说一句,您不需要手动对其进行分页。 Laravel使用paginate()方法自动进行分页。

这样做:

$projects = Project::where_sup_id($user_id)->paginate(3); // 3 means records per page
return View::make('project.index')->with('projects', $projects);

您正在view正常工作。