Laravel OrderBy Random

Vfe*_*ero 5 sql-order-by laravel

作为Laravel的新手,我试图随机显示一个画廊的图像.在routes.php中,我目前有这个代码:

// Get galleries
$galleries = App\Gallery::orderBy('id', 'DESC')->get();
Run Code Online (Sandbox Code Playgroud)

你有什么想法让它发挥作用吗?

谢谢

Zak*_*rki 18

对于Laravel> = 5.2,您可以使用inRandomOrder()方法.

描述:inRandomOrder()方法可用于随机对查询结果进行排序.例如,您可以使用此方法来获取随机用户:

示例:

$galleries = App\Gallery::inRandomOrder()->get();
//Or
DB::table('gallery')->inRandomOrder()->get();
Run Code Online (Sandbox Code Playgroud)

对于其他版本> = 5.0,您可以使用random()方法.

描述:random()方法从集合中返回一个随机项.

示例:

App\Gallery::all()->random()->get();
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

  • 它适用于 >= laravel 5.2..检查你的 laravel 版本 (2认同)

Ami*_*pta 6

您可以尝试:

$galleries = App\Gallery::orderByRaw('RAND()')->get()
Run Code Online (Sandbox Code Playgroud)