我们假设我有这样的分页
return App\Post::paginate(1);
加载后,有人在数据库中为帖子创建一个新条目。如何确保我的分页“第二页”不会再次返回第一页?
在使用分页之前,我是否总是需要为每个请求发送时间戳以进行其他查询? 像
App\Post::where('created_at', '<', $request->input('max_created_at'))->paginate(1);
答案 0 :(得分:0)
您可以使用orderBy
。你可以这样做:
// Get the last post (most recent)
return App\Post::orderBy('created_at', 'DESC')->paginate(1);
或者:
// Same as above
return App\Post::orderBy('created_at', 'DESC')->first();
orderBy
表示您的所有结果都在您的查询中排序。希望它会有所帮助。
答案 1 :(得分:0)
您不需要传递任何时间戳值来验证分页。 在控制器中,您需要在视图文件中传递此查询的结果。
$result = App\Post::orderBy('created_at', 'desc')->paginate(1);
return view('pagination',compact('result'));
在视图文件中,根据Laravel语法,您需要在下面的行中进行分页工作。
{{ $result->links() }}
访问https://laravel.com/docs/5.2/pagination/ laravel分页的工作方式。