Laravel の OrderBy 関係数
Laravel では、関連モデルの数に基づいてクエリ結果を並べ替える必要がある状況に遭遇することがあります。 。このようなシナリオの 1 つは、各ハッカソンに関連付けられた参加者の数に基づいて最も人気のあるハッカソンを取得することです。
これを実現するには、withCount() メソッドを orderBy() と組み合わせて利用できます。以下はその方法を示しています。
$hackathons = Hackathon::withCount('participants') ->orderBy('participants_count', 'desc') ->paginate(10);
この例では、ハッカソンのコレクションを取得し、withCount('participants') を使用して参加ユーザーの数を積極的にロードすることから始めます。次に、orderBy('participants_count', 'desc') を使用して、参加者数に基づいて結果を降順に並べ替えます。最後に、結果を 10 個のグループにページ分割して表示します。
このアプローチでは、最も人気のあるハッカソンを効率的に取得し、結果を望ましい順序で並べることができます。これにより、各ハッカソンの参加者数を決定するための複雑な手動計算や追加のクエリが不要になります。
以上がLaravel クエリ結果を関連モデル数で並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。