laravel 模型查询按照whereIn排序的示例


Posted in PHP onOctober 16, 2019

实例如下所示:

$ids = [5,7,3,1,2];
$data = Content::whereIn('id',$ids)
    ->select('id')
    ->get();
//查询结果是想按照wherein的顺序排序
//正确写法
$data = Content::whereIn('id',$ids)
    ->select('id')
//   ->orderBy(\DB::raw('FIND_IN_SET(id, "' . implode(",", $ids) . '"' . ")"))
//   ->orderBy(DB::raw("FIND_IN_SET(id, '" . implode(',', $ids) . "'" . ')'))
//   ->orderByRaw("FIND_IN_SET(id, '" . implode(',', $ids) . "'" . ')')
    ->orderBy(\DB::raw('FIND_IN_SET(id, "' . implode(",", $ids) . '"' . ")"))
    ->get();

中午没睡觉一直调试,心塞...

错误写法

//错误写法
$data = Content::whereIn('id',$ids)
    ->select('id')
    ->orderByRaw("FIND_IN_SET('id', "' . implode(",", $ids) . '"' . ")")
    ->get();
//该写法查询顺序是按照id大小正序排序

原因解析

//正确写法的sql语句为
select `id` from `contents`
order by FIND_IN_SET(id, "5,6,7,4,2,1") asc
//错误写法的sql语句为
select `id` from `contents`
order by 'FIND_IN_SET(id, "5,6,7,4,2,1")' asc
//或者
select `id` from `contents`
order by `FIND_IN_SET(id, "5,6,7,4,2,1")` asc
 
//FIND_IN_SET()方法外面不要添加任何符号

以上这篇laravel 模型查询按照whereIn排序的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
用Flash图形化数据(二)
Oct 09 PHP
解析Linux下Varnish缓存的配置优化
Jun 20 PHP
php制作中间带自己定义图片二维码的方法
Jan 27 PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
服务器迁移php版本不同可能诱发的问题
Dec 22 PHP
浅谈PHP中关于foreach使用引用变量的坑
Nov 14 PHP
thinkPHP模板引擎用法示例
Dec 08 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
详解php curl带有csrf-token验证模拟提交方法
Apr 18 PHP
实例讲解通过​PHP创建数据库
Jan 20 PHP
PHP MVC框架中类的自动加载机制实例分析
Sep 18 PHP
解决Laravel无法使用COOKIE和SESSION的问题
Oct 16 #PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 #PHP
关于laravel 子查询 & join的使用
Oct 16 #PHP
laravel高级的Join语法详解以及使用Join多个条件
Oct 16 #PHP
Laravel 连接(Join)示例
Oct 16 #PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 #PHP
PHP 代码简洁之道(小结)
Oct 16 #PHP
You might like
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
wxPython学习之主框架实例
2014/09/28 Python
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
python字典get()方法用法分析
2015/04/17 Python
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
python collections模块的使用
2020/10/16 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
奶茶店创业计划书范文
2014/01/17 职场文书
通信研究生自荐信
2014/02/01 职场文书
理财投资建议书
2014/03/12 职场文书
合作经营协议书范本
2014/04/17 职场文书
房地产开发项目建议书
2014/05/16 职场文书
应届生个人的求职(自荐信范文2篇)
2019/08/23 职场文书
Python 快速验证代理IP是否有效的方法实现
2021/07/15 Python
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
2021/10/16 HTML / CSS