首頁 > 資料庫 > mysql教程 > 如何在 Laravel Eloquent 中檢索每個唯一值的最新記錄?

如何在 Laravel Eloquent 中檢索每個唯一值的最新記錄?

Linda Hamilton
發布: 2024-12-01 06:34:13
原創
432 人瀏覽過

How to Retrieve the Most Recent Record for Each Unique Value in Laravel Eloquent?

使用Laravel Eloquent 查詢最新記錄

要檢索給定表列中每個唯一值的最新記錄,Laravel 的Eloquent ORM了一個強大的解決方案。讓我們來看看一個場景及其雄辯的解決方案:

場景:

考慮一個名為“snapshot”的表,其中包含“id”、“ seller_id」、「金額」和「建立時間」。目標是檢索每個不同“seller_id”的最新行。

雄辯查詢:

解釋:

  • groupBy('seller_By('sellerid'):對結果進行分組基於「seller_id」列,將具有匹配賣家ID 的行組織在一起。
  • havingRaw('MAX(created_at)'):過濾結果以僅包含每個賣家中具有最大「created_at」值的行ID 群組。
  • orderBy('created_at', 'DESC'):依降序對每個賣家 ID 群組內的結果進行排序“created_at”,確保最新記錄最先出現。
  • get():從資料庫取得結果。

備用查詢(原始查詢):

如果願意,可以使用原始SQL 查詢來實現相同的效果結果:

此查詢使用子查詢來識別每個「seller_id」的最新行,以確定每個群組內的最大「created_at」值。然後選擇具有相符的「seller_id」和「created_at」對(代表最新記錄)的行,並按「created_at」降序排序,從而得到每個賣家的最新記錄清單。

以上是如何在 Laravel Eloquent 中檢索每個唯一值的最新記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板