Laravel框架使用 inRandomOrder() 方式高效的随机取出N条数据
前言
PHP的laravel框架使用mysq高性能的l随机查询取出指定的n条数据,在项目中,我们经常会需要从数据库随机的取出数据。
问题
在Laravel框架中如何高效的随机取出指定数量的数据
答案
1、使用原生的SQL从数据库取出多条条数据
从Mysql
官网可以看到,可以让ORDER BY RAND()
和LIMIT
一起使用,可以从多行结果随机获取的一部分数据。
SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100;
在laravel中使用原生SQL也很简单
$info = DB::select('SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100');
2、使用原始表达式从数据随机获取数据
我们都知道laravel的原始表达式,我们可以使用DB::raw('RAND()')
从数据库随机获取数据。同时你还可以使用orderByRaw('RAND()')
从数据库随机获取数据,和DB::raw('RAND()')
是一样的
$info=self::where('dealing','<>','')->orderBy(DB::raw('RAND()'))->take(5)->get();
3、使用laravel的inRandomOrder方法随机获取数据
laravel中使inRandomOrder
会对数据结果进行随机排序,达到我们随机从数据库获取数据的效果:
$info = DB::table('users')->inRandomOrder()->take(5)->get();
本篇文章来至:学新通
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通
- 本文地址: https://www.swvq.com/boutique/detail/tanehka
- 联系方式: luke.wu#vfv.cc
系列文章
更多
同类精品
更多
精彩评论
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
word只能打字母不能打汉字怎么办
PHP中文网 06-28 -
手机怎样打开html文件
PHP中文网 05-20 -
photoshop默认安装在c盘怎么移动
PHP中文网 03-29 -
微信小程序没声音怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word第二行和第一行不能对齐怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
pr做好的序列不见了怎么办
PHP中文网 05-12