Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Memilih Baris Rawak dalam Laravel Menggunakan Fasih dan Fasih?
Memilih Baris Rawak dalam Laravel Menggunakan Fasih dan Fasih
Apabila bekerja dengan set data yang besar, selalunya perlu mendapatkan semula baris rawak daripada pangkalan data tanpa perlu melakukan kiraan persediaan. Laravel menyediakan beberapa pilihan untuk mencapai ini menggunakan kedua-dua antara muka Eloquent dan Fluent.
Eloquent
Laravel 5.2 dan ke atas menawarkan kaedah inRandomOrder():
User::inRandomOrder()->get();
Kaedah ini mengembalikan koleksi semua baris rawak daripada model yang ditentukan. Untuk mengehadkan bilangan baris yang diambil, gunakan kaedah limit():
User::inRandomOrder()->limit(5)->get();
Untuk mendapatkan satu baris rawak, gunakan kaedah first():
User::inRandomOrder()->first();
Untuk versi lama daripada Laravel (4.2.7 - 5.1), anda boleh menggunakan kaedah orderByRaw():
User::orderByRaw("RAND()")->get();
Untuk Laravel versi 4.0 - 4.2.6, gunakan:
User::orderBy(DB::raw('RAND()'))->get();
Fasih
Dalam versi Laravel sebelum 5.2, kaedah order_by() telah digunakan dengan fungsi pembantu DB::raw():
User::order_by(DB::raw('RAND()'))->get();
Tambahan Pertimbangan
Adalah penting untuk ambil perhatian bahawa kaedah orderBy() tidak membenarkan sebarang hujah selain ASC atau DESC pada masa ini. Oleh itu, adalah perlu untuk menggunakan kaedah orderByRaw() atau kaedah inRandomOrder() untuk memilih baris rawak.
Pertimbangan Prestasi
Apabila mendapatkan sejumlah besar baris, ia adalah penting untuk mempertimbangkan kesan ke atas prestasi. Menggunakan kaedah inRandomOrder() mungkin lebih cekap daripada menggunakan kaedah orderByRaw(), kerana ia tidak memerlukan subquery tambahan untuk menjana pesanan rawak.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris Rawak dalam Laravel Menggunakan Fasih dan Fasih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!