如何在通过帖子分页时处理新的传入条目?

时间:2017-01-24 08:20:05

标签: laravel pagination

我们假设我有这样的分页

return App\Post::paginate(1);

加载后,有人在数据库中为帖子创建一个新条目。如何确保我的分页“第二页”不会再次返回第一页?

在使用分页之前,我是否总是需要为每个请求发送时间戳以进行其他查询? 像

App\Post::where('created_at', '<', $request->input('max_created_at'))->paginate(1);

2 个答案:

答案 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分页的工作方式。