首先文章的起源来与SF上面的一个问题:

Laravel的Eloquent ORM 怎么获取当前记录的下一条
然后,当时在答案里面简单写了一下解决方案。不过由于这个取得下一条和取得上一条的记录其实在日常的开发当中还是会经常遇到,最常见的场景可能就是取得一篇文章的上一篇文章和下一篇文章了。其实这个在Laravel的Eloquent中实现还是挺容易的,不过由于Laravel并没有直接提供给我们相应的方法,我们得使用一个小小的技巧:
取得上一篇的文章id
protected function getPrevArticleId($id)
{
return Article::where('id', '<', $id)->max('id');
}
$id就是当前文章的id,我们通过max()来取得比当前id小的最大值,也就是当前id的前一篇文章的id。
取得上一篇的文章id
protected function getNextArticleId($id)
{
return Article::where('id', '>', $id)->min('id');
}
基本上可以说是:同理可得。这个取得下一篇文章的id其实就是一个相反的过程,理解万岁。
一旦我们取得上一篇和下一篇的文章id之后,我们就可以随心所欲了,比如:
复制代码 代码如下:$next_article = Article::find($this->getNextArticleId($article->id));
多说两句
那如果是对于一个文章的管理来说,我们其实可以这么做:
给articles表中增加一个published_at的字段,这里可以将published_at字段设置为一个Carbon对象,然后我们在前端展示的时候就可以根据published_at来判读是否将文章展示出来。
比如说查询语句:
public function scopePublished($query)
{
$query->where('published_at','<=',Carbon::now());
}
//以上方法位于Article中,下面的查询我放在了ArticleController中
$articles = Article::latest('published_at')->published()...
View展示:
<li class="previous">
@if($prev_article)
<a href="/post/{{ $prev_article->slug }}" rel="prev"><i class="fa fa-chevron-left"></i><strong>上一篇</strong><span> {{ $prev_article->title }}</span> </a>
@endif
</li>
<li class="next">
@if($next_article && $next_article->published_at < Carbon\Carbon::now())
<a href="/post/{{ $next_article->slug }}" rel="next"><i class="fa fa-chevron-right"></i><strong>下一篇</strong> <span> {{ $next_article->title }}</span></a>
@endif
</li>
处理文章的前一篇和后一篇的解决方案已完成。
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关推荐:
SEO伪创:提升网站排名的危险策略与如何避免,怎样介绍社交网站推广
优化公司:助力企业腾飞的秘密武器,微信营销推广价格多少
seo矩阵运营中心是什么,seo矩阵运营中心是什么意思啊 ,北京ai特效
AI公众号文章生成,轻松打造爆款内容
ChatGPT页面无法下拉?禁用浏览器扩展,轻松解决!,imba 1.6 ai
未来工作方式!AI在线工具让效率倍增,工作变轻松
ChatGPT显示503:如何应对AI服务不可用的困境?,ai宝贝宝贝
SEO超级,助力企业站点冲刺搜索引擎排名,白云全网营销推广哪家强
为什么越来越多的人选择在知乎发布文章?这里面的机会你可能还没发现!,潍坊关键词排名提升
seo要会些什么,seo需要学些什么内容 ,轻盈ai
ChatGPT崩溃!用户反馈网页端无法访问,修复急需,ai院子
SEO优:让网站流量和排名实现飞跃的秘诀,大理哪有企业网站建设
ChatGPT无法加载?检查您的网络设置并尝试重启ChatGPT,解决您的使用困扰!,ai光晕制作
GPT哪个模型是最新的?AI语言生成的未来,ai回头
ChatGPT崩了?用户称打开是一片空白,真相竟然如此!,zzz*明星AI换脸
什么是亚马逊seo策略,亚马逊的seo推广是什么 ,天天学术ai写作优惠券
ChatGPT为什么网址打不开?原因分析与解决方法,文档审核ai
SEO目标:让您的网站轻松登顶搜索引擎,优化购物网站的搜索
优排软件:高效管理新天地,轻松提升工作效率,长葛外贸网站建设
SEO分类:从基础到进阶,全面解析SEO优化的关键要素,新建设网站排名
SEO站群:打造强大网络营销引擎,助力企业快速提升排名与流量,seo网站排名案例
ChatGPT怎么有梯子?突破网络限制,轻松畅享AI智能,ai对唱音响
Chat启用后ESX连不上?解决方法一网打尽!,为什么AI续写这么离谱
优化整站,让网站飞速增长,打造行业竞争力,广东网站建设与维护
ChatGPT免费版下载:智能对话助手带来的全新体验,电脑怎么下载Ai微认证
SEO外包:提升网站排名与品牌曝光的最佳选择,大创建设网站
打破创作边界,无限可能无限制生成文章的AI
seo黑帽是什么,列举几种seo黑帽行为 ,穿老款的ai丢人吗
SEO获取流量的必杀技:如何通过优化轻松提升网站排名,德州全网营销推广价格
AI网页版本:开启智能时代的新篇章,拼音标调ai
seo该从什么开始,seo是什么时候开始的 ,ai写作免费英文怎么说
用AI修改文章,提升写作效率与质量的新时代
pbootcms自动翻译插件,让你的网站轻松实现多语言覆盖,ai 镀金
SEO走动:提升网站流量的关键一步,SEO数据监控宝宝推荐
为什么做酒店seo,为什么做酒店 ,ai uehara下载
Chat免费,让沟通无界限,尽享智能对话时代,ai没办法置顶
云推SEO:让您的网站在激烈竞争中脱颖而出,网站优化公司欢迎来电
SEO职责:为网站注入流量,提升品牌竞争力,拼多多女装关键词排名
AI一键生成文章,写作新境界
ChatGPT您的应用遇到问题,无法正常启动?如何解决并重新体验智能助手的魅力!,男头ai关键词
主流seo是什么,seo是什么推广网站 ,AI心理师
SEO阶段解析:从入门到精通,助你站稳搜索引擎的前沿,网站建设特定开发
什么是秀米?全方位了解这款微信公众号排版神器,宁波全网营销型网站建设
亚马逊的seo是什么阿,亚马逊seo项目 ,中考用ai写作会判0分吗
如何快速写出高质量的AI文章:从入门到精通
ChatGPT安装包Windows版-让智能助手触手可得,q和ai
ChatGPT服务异常:为何影响到你的工作和生活?如何有效解决?,ai怎么保持圆角不变
SEO添加:提升网站流量与排名的必备策略,seo团队成员中国人
SEO和品牌营销:如何通过搜索引擎优化打造品牌影响力,建邺seo软件
ChatGPTDNS出问题?如何快速解决并保障网络畅通,墨镜ai照片