PHP获取上一篇文章和下一篇文章数据

1,200 阅读1分钟

很多框架都可以完成,同理。

Laravel的Eloquent ORM 获取当前记录的上一篇下一篇

然后,当时在答案里面简单写了一下解决方案。不过由于这个取得下一条和取得上一条的记录其实在日常的开发当中还是会经常遇到,最常见的场景可能就是取得一篇文章的上一篇文章和下一篇文章了。其实这个在Laravel的Eloquent中实现还是挺容易的,不过由于Laravel并没有直接提供给我们相应的方法,我们得使用一个小小的技巧:

取得上一篇的文章id

protected function getPrevArticleId($id)
{
   return Article::where('id', '<', $id)->max('id');
}


取得上一篇的文章id$id就是当前文章的id,我们通过max()来取得比当前id小的最大值,也就是当前id的前一篇文章的id。

protected function getNextArticleId($id)
{
   return Article::where('id', '>', $id)->min('id');
}

基本上可以说是:同理可得。这个取得下一篇文章的id其实就是一个相反的过程,理解万岁

通过上面的方法,可以很轻松的实现上一篇下一篇的功能。