Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengambil Baris Rawak dalam Laravel Menggunakan Fasih atau Fasih?

Bagaimana untuk Mengambil Baris Rawak dalam Laravel Menggunakan Fasih atau Fasih?

Patricia Arquette
Lepaskan: 2024-11-16 12:31:03
asal
483 orang telah melayarinya

How to Retrieve Random Rows in Laravel Using Eloquent or Fluent?

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();
Salin selepas log masuk

Untuk mendapatkan semula bilangan rekod rawak tertentu, gunakan kaedah had():

$randomUsers = User::inRandomOrder()->limit(5)->get();
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan rawak () kaedah yang disediakan oleh koleksi untuk mendapatkan rekod rawak tunggal:

$randomUser = User::all()->random();
Salin selepas log masuk

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();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan