Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memilih Baris Rawak dalam Laravel Menggunakan Fasih dan Fasih?

Bagaimana untuk Memilih Baris Rawak dalam Laravel Menggunakan Fasih dan Fasih?

Barbara Streisand
Barbara Streisandasal
2024-11-12 00:42:03522semak imbas

How to Select Random Rows in Laravel Using Eloquent and Fluent?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn