国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Laravel Eloquent取上一條和下一條數(shù)據(jù)

shery / 2951人閱讀

摘要:不過由于這個(gè)取得下一條和取得上一條的記錄其實(shí)在日常的開發(fā)當(dāng)中還是會(huì)經(jīng)常遇到,最常見的場(chǎng)景可能就是取得一篇文章的上一篇文章和下一篇文章了。取得下一篇的文章基本上可以說是同理可得。

原文來自:https://jellybool.com/post/laravel-get-next-and-prev-posts-with-eloquent

首先文章的起源來與SF上面的一個(gè)問題:

Laravel的Eloquent ORM 怎么獲取當(dāng)前記錄的下一條

然后,當(dāng)時(shí)在答案里面簡(jiǎn)單寫了一下解決方案。不過由于這個(gè)取得下一條和取得上一條的記錄其實(shí)在日常的開發(fā)當(dāng)中還是會(huì)經(jīng)常遇到,最常見的場(chǎng)景可能就是取得一篇文章的上一篇文章和下一篇文章了。其實(shí)這個(gè)在LaravelEloquent中實(shí)現(xiàn)還是挺容易的,不過由于Laravel并沒有直接提供給我們相應(yīng)的方法,我們得使用一個(gè)小小的技巧:

取得上一篇的文章id
protected function getPrevArticleId($id)
    {
        return Article::where("id", "<", $id)->max("id");
    }

$id就是當(dāng)前文章的id,我們通過max()來取得比當(dāng)前id小的最大值,也就是當(dāng)前id的前一篇文章的id。

取得下一篇的文章id
protected function getNextArticleId($id)
    {
        return Article::where("id", ">", $id)->min("id");
    }

基本上可以說是:同理可得。這個(gè)取得下一篇文章的id其實(shí)就是一個(gè)相反的過程,理解萬歲。

一旦我們?nèi)〉蒙弦黄拖乱黄奈恼耰d之后,我們就可以隨心所欲了,比如:

$next_article = Article::find($this->getNextArticleId($article->id));
多說兩句

那如果是對(duì)于一個(gè)文章的管理來說,我們其實(shí)可以這么做:

articles表中增加一個(gè)published_at的字段,這里可以將published_at字段設(shè)置為一個(gè)Carbon對(duì)象,然后我們?cè)谇岸苏故镜臅r(shí)候就可以根據(jù)published_at來判讀是否將文章展示出來。

比如說查詢語(yǔ)句:

 public function scopePublished($query)
    {
        $query->where("published_at","<=",Carbon::now());
    }
//以上方法位于Article中,下面的查詢我放在了ArticleController中

$articles = Article::latest("published_at")->published()...
View展示:


處理文章的前一篇和后一篇的解決方案已完成。

Happy Hacking

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/21034.html

相關(guān)文章

  • laravel5.5手寫教程4Eloquent ORM分頁(yè)及軟刪除

    摘要:從而達(dá)到了軟刪除。不過,你可以通過在查詢中調(diào)用方法來強(qiáng)制查詢已被軟刪除的模型方法也可以被用在關(guān)聯(lián)查詢只取出軟刪除數(shù)據(jù)會(huì)只取出軟刪除數(shù)據(jù)恢復(fù)被軟刪除的模型有時(shí)候你可能希望取消刪除一個(gè)已被軟刪除的模型。 Laravel 有三寶,路由、容器和 Eloquent ORM,Eloquent ORM。我個(gè)人一直比較推薦于在實(shí)際操作中學(xué)習(xí),之前簡(jiǎn)單了解了路由和Eloquent ORM的基本用法,今天...

    mindwind 評(píng)論0 收藏0
  • Laravel 5.4 入門系列 4. 任務(wù)列表顯示(2)

    摘要:同時(shí),傳入?yún)?shù),即已存在的查詢。因此,更為常見的做法是在控制器中處理路由請(qǐng)求。 這一節(jié),我們進(jìn)一步完善上一節(jié)創(chuàng)建的任務(wù)列表。主要知識(shí)點(diǎn): Eloquent Model 控制器 路由模型綁定 Eloquent Model 新增遷移 首先,我們?yōu)閿?shù)據(jù)庫(kù)表 tasks 新增一個(gè)字段 completed,用來表示任務(wù)是否完成: $ php artisan make:migration ad...

    banana_pi 評(píng)論0 收藏0
  • Laravel 5系列教程五:MVC的基本流程

    摘要:原文來自免費(fèi)視頻教程地址期間受到很多私事影響,終于還是要好好寫寫的教程了。我們來實(shí)現(xiàn)這個(gè)功能顯示文章詳情通過文章展示來快速體驗(yàn)上面的流程注冊(cè)路由來到中,我們?cè)黾右粋€(gè)路由上面的路由指定我們需要加載中的方法。 原文來自: https://jellybool.com/post/programming-with-laravel-5-model-controller-view-basic-wor...

    mrcode 評(píng)論0 收藏0
  • 個(gè)人整理, 閱讀過的好文章 (每天隨時(shí)更新)

    摘要:大家有好的文章可以在評(píng)論下面分享出來共同進(jìn)步本文鏈接數(shù)組使用之道程序員進(jìn)階學(xué)習(xí)書籍參考指南教你在不使用框架的情況下也能寫出現(xiàn)代化代碼巧用數(shù)組函數(shù)框架中間件實(shí)現(xiàn)沒錯(cuò),這就是面向?qū)ο缶幊淘O(shè)計(jì)模式需要遵循的個(gè)基本原則令人困惑的在中使用協(xié)程實(shí)現(xiàn)多任 大家有好的文章,可以在評(píng)論下面分享出來, 共同進(jìn)步! 本文github鏈接 php PHP 數(shù)組使用之道 PHP程序員進(jìn)階學(xué)習(xí)書籍參考指南 教你...

    Chiclaim 評(píng)論0 收藏0
  • laravel手動(dòng)創(chuàng)建數(shù)組分頁(yè)

    摘要:目前,無法高效執(zhí)行使用語(yǔ)句的分頁(yè)操作。如果你需要在分頁(yè)結(jié)果集中使用,建議你查詢數(shù)據(jù)庫(kù)并手動(dòng)創(chuàng)建分頁(yè)器。手動(dòng)創(chuàng)建分頁(yè)如果你想手動(dòng)創(chuàng)建分頁(yè)實(shí)例并且最終得到一個(gè)數(shù)組類型的結(jié)果,可以根據(jù)需求來創(chuàng)建或者實(shí)例來實(shí)現(xiàn)。 showImg(https://segmentfault.com/img/bVbbGos?w=640&h=400); laravel分頁(yè)功能: 有幾種方法可以對(duì)數(shù)據(jù)進(jìn)行分頁(yè)。最簡(jiǎn)單的...

    acrazing 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

shery

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<