Mendapatkan Baris Rawak dalam Laravel
Untuk mendapatkan semula baris rawak daripada jadual pangkalan data menggunakan Laravel's Eloquent ORM atau Fluent query builder, terdapat beberapa pendekatan tersedia, bergantung pada versi Laravel anda menggunakan.
Laravel 5.2 dan Kemudian
Dalam Laravel 5.2 dan versi yang lebih baru, anda boleh menggunakan kaedah inRandomOrder():
$randomUser = User::inRandomOrder()->first(); $randomUsers = User::inRandomOrder()->take(5)->get();
Laravel 5.1 dan Sebelum
Sebelum Laravel 5.2, anda akan menggunakan sintaks SQL mentah untuk mencapai rawak:
$randomUser = User::orderByRaw("RAND()")->first(); $randomUsers = User::orderByRaw("RAND()")->take(5)->get();
Laravel 3
Dalam Laravel 3, gunakan kaedah order_by() dengan DB::raw() fungsi:
$randomUser = User::order_by(DB::raw("RAND()"))->first(); $randomUsers = User::order_by(DB::raw("RAND()"))->take(5)->get();
Menggunakan Koleksi
Sebagai alternatif, anda boleh menggunakan kaedah rawak() atau rawak($count) Koleksi untuk mendapatkan elemen atau tatasusunan rawak unsur rawak:
$randomUser = User::all()->random(); $randomUsers = User::all()->random(10);
Pertimbangan
Dalam SQL, ORDER BY RAND() boleh menjadi tidak cekap untuk jadual besar, kerana ia memerlukan enjin pangkalan data untuk mengisih semua rekod. Untuk prestasi yang lebih baik, pertimbangkan untuk menggunakan pendekatan alternatif seperti pensampelan atau pengindeksan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan baris rawak daripada jadual pangkalan data dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!