首頁 >資料庫 >mysql教程 >如何依相關模型計數對 Laravel 查詢結果進行排序?

如何依相關模型計數對 Laravel 查詢結果進行排序?

Patricia Arquette
Patricia Arquette原創
2024-11-15 08:00:03290瀏覽

How to Order Laravel Query Results by Related Model Count?

Laravel 中的OrderBy 關係計數

在Laravel 中,你可能會遇到需要根據相關模型的計數對查詢結果進行排序的情況。其中一個場景是根據與每個黑客馬拉松相關的參與者數量來檢索最受歡迎的黑客馬拉松。

要實現這一點,您可以結合使用 withCount() 方法和 orderBy()。以下示範如何操作:

$hackathons = Hackathon::withCount('participants')
    ->orderBy('participants_count', 'desc')
    ->paginate(10);

在此範例中,我們首先取得黑客馬拉鬆的集合,並使用 withCount('participants') 急切地載入參與使用者的數量。然後,我們使用 orderBy('participants_count', 'desc') 根據參與者計數對結果進行降序排序。最後,我們將結果分頁為 10 個組別進行顯示。

這種方法可以有效地檢索最受歡迎的黑客馬拉松並提供所需的結果排序。它消除了複雜的手動計算或額外查詢來確定每個黑客馬拉鬆的參與者數量的需要。

以上是如何依相關模型計數對 Laravel 查詢結果進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn