Memilih Baris Rawak dengan Fasih atau Fasih dalam Laravel
Mendapatkan semula baris rawak daripada jadual pangkalan data ialah tugas biasa dalam aplikasi web. Laravel menyediakan beberapa kaedah untuk menyelesaikan tugas ini menggunakan sama ada pembina pertanyaan Eloquent atau Fluent.
Menggunakan Eloquent (Laravel >= 5.2)
Sejak Laravel 5.2, rangka kerja memperkenalkan kaedah inRandomOrder() yang menyediakan cara mudah untuk mendapatkan semula baris rawak. Kod berikut menggambarkan cara menggunakannya:
$randomUsers = User::inRandomOrder()->get();
Untuk mendapatkan semula bilangan rekod rawak tertentu, gunakan kaedah had():
$randomUsers = User::inRandomOrder()->limit(5)->get();
Sebagai alternatif, anda boleh menggunakan rawak () kaedah yang disediakan oleh koleksi untuk mendapatkan rekod rawak tunggal:
$randomUser = User::all()->random();
Menggunakan Fluent (Laravel < 5.2)
Untuk versi Laravel sebelum 5.2, anda boleh menggunakan kaedah Fluent's orderByRaw() untuk memesan keputusan secara rawak:
$randomUsers = User::orderByRaw(DB::raw('RAND()'))->get();<p><strong>Menggunakan SQL dengan Fasih</strong></p> <p>Jika anda lebih suka menggunakan SQL tulen, anda boleh menulis pertanyaan berikut dalam pernyataan Fasih anda:</p> <pre class="brush:php;toolbar:false">$randomUsers = DB::table('users')->orderByRaw('RAND()')->get();
Perhatikan bahawa pendekatan ini memerlukan anda mengira bilangan rekod sebelum pertanyaan awal, yang boleh menjadi tidak cekap untuk set data yang besar.
Kesimpulan
Memilih baris rawak dalam Laravel boleh dicapai menggunakan sama ada Eloquent atau Fluent. Kaedah inRandomOrder() dalam Eloquent menyediakan cara yang paling cekap dan mudah untuk melakukan ini untuk Laravel 5.2 dan ke atas. Untuk versi lama, kaedah Fluent's orderByRaw() menawarkan alternatif yang berdaya maju, walaupun ia mempunyai beberapa had.
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Baris Rawak dalam Laravel Menggunakan Fasih atau Fasih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!