在开发过程中遇到取上一篇文章和下一篇文章这个功能,其实这个功能很简单,一般来说,上一篇和下一篇都是按照ID来排序,那么就是去这个文章的前一个id,和以一个ID就可以了
上一篇文章
select
id,title
whereid
< id order byid
desc limit(1);
这样就可以原则上就可以原道上一篇内容 利用order by 然后所有改文章之前的文章按篇(id)倒叙,最上面那个就是我们要选择的上一篇文章
下一篇文章
>select`id`,`title` where `id` > id order by `id` asc limit 1
同样,将所有篇(ID)大于当前文章的内容去取来,然后正序排序,选择最上面的一篇,就是我们紧接着的下一篇文章。
那么这个功能,怎么在Laravel中实现呢?
Laravel中实现上一篇下一篇
比如我们有一个article的表,存着我们id title 还有我们content,
同时有一个对应的Article model 来操作我们的Article库。
首先获得当前的ID $id,上一篇的id可以直接用Eloquent Model来实现