Laravel > = 5.2:
User::all()->random();User::all()->random(10); // The amount of items you wish to receive
要么
User::inRandomOrder()->get();
或获取特定记录数
//5 indicates the number of recordsUser::inRandomOrder()->limit(5)->get();
Laravel 4.2.7-5.1:
User::orderByRaw("RAND()")->get();
Laravel 4.0-4.2.6:
User::orderBy(DB::raw('RAND()'))->get();
Laravel 3:
User::order_by(DB::raw('RAND()'))->get();
查看有关MySQL随机行的 本文 。Laravel5.2支持这一点,对于较旧的版本,没有比使用RAWQueries更好的解决方案了。
编辑1: 如DoubleGras所述,由于此更改,orderBy()不允许ASC或DESC之后的任何其他内容。我相应地更新了我的答案。
编辑2: Laravel5.2最终为此实现了包装函数。它称为 inRandomOrder() 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)