Laravel: Memesan Perhubungan mengikut Kiraan Model Bersekutu
Dalam Laravel, anda mungkin menghadapi keperluan untuk memesan rekod berdasarkan kiraan model berkaitan . Teknik ini amat berguna untuk menentukan kedudukan atau mengenal pasti item paling popular dalam pangkalan data anda.
Mari kita pertimbangkan contoh yang diberikan dalam soalan, di mana anda ingin mendapatkan hackathon paling popular berdasarkan bilangan peserta yang dikaitkan dengannya . Untuk mencapai matlamat ini, kita boleh memanfaatkan kaedah withCount() dan orderBy() kaedah ORM Fasih Laravel.
Kaedah withCount() menambah kiraan dinamik pada pertanyaan asas, membolehkan anda memasukkan kiraan model berkaitan secara langsung dalam pertanyaan utama. Dalam kes anda, ini ialah:
$hackathons = Hackathon::withCount('participants');
Setelah anda memasukkan kiraan dalam pertanyaan asas, anda boleh menggunakan kaedah orderBy() untuk mengisih rekod berdasarkan kiraan :
$hackathons = $hackathons->orderBy('participants_count', 'desc');
Akhir sekali, anda boleh menggunakan penomboran untuk memaparkan keputusan, seperti yang ditunjukkan dalam penyelesaian yang disediakan dalam jawapan:
$hackathons = $hackathons->paginate(10);
Pendekatan ini memastikan hackathon dipesan berdasarkan kiraan peserta, membolehkan anda mendapatkan hackathon paling popular dengan cekap.
Atas ialah kandungan terperinci Bagaimana untuk Memesan Perhubungan Laravel mengikut Kiraan Model Bersekutu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!