首頁  >  文章  >  後端開發  >  如何從 Laravel 資料庫表中取得隨機行?

如何從 Laravel 資料庫表中取得隨機行?

Barbara Streisand
Barbara Streisand原創
2024-11-21 16:14:10386瀏覽

How do I get random rows from a database table in Laravel?

在Laravel 取得隨機行

要使用Laravel 的Eloquent ORM 或Fluent 查詢產生器從資料庫表格中擷取隨機行,有表格擷取隨機行幾種方法可用的方法,取決於您的Laravel版本

Laravel 5.2 及更高版本

在Laravel 5.2 及更高版本中,您可以使用inRandomOrder() 方法:

$randomUser = User::inRandomOrder()->first();
$randomUsers = User::inRandomOrder()->take(5)->get();

Laravel 5.1和在

Laravel 5.2 之前,您將使用原始SQL 語法來實現隨機性:

$randomUser = User::orderByRaw("RAND()")->first();
$randomUsers = User::orderByRaw("RAND()")->take(5)->get();

Laravel 3

Laravel 3
$randomUser = User::order_by(DB::raw("RAND()"))->first();
$randomUsers = User::order_by(DB::raw("RAND()"))->take(5)->get();

在🎜>在Laravel中3、將order_by()方法與DB::raw()一起使用函數:

$randomUser = User::all()->random();
$randomUsers = User::all()->random(10);
使用集合

或者,您可以使用集合的random () 或random($count)方法來取得隨機元素或陣列隨機的元素:

注意事項在SQL 中,ORDER BY RAND() 對於大型表來說效率較低,因為它需要資料庫引擎對所有元素進行排序記錄。為了獲得更好的效能,請考慮使用替代方法,例如取樣或索引。

以上是如何從 Laravel 資料庫表中取得隨機行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn