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 相关文章推荐
php Try Catch异常测试
Mar 01 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
php入门学习知识点一 PHP与MYSql连接与查询
Jul 14 PHP
PHP定时更新程序设计思路分享
Jun 10 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
PHP原生函数一定好吗?
Dec 08 PHP
php实现购物车功能(下)
Jan 05 PHP
PHP目录操作实例总结
Sep 27 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
Yii2选项卡的简单使用
May 26 PHP
PHP微信PC二维码登陆的实现思路
Jul 13 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 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程序
2006/10/09 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
PHP漏洞全解(详细介绍)
2012/11/13 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
php获取远程文件内容的函数
2015/11/02 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
动态添加js事件实现代码
2009/03/12 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
2014/10/30 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
python thread 并发且顺序运行示例
2009/04/09 Python
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
python实现socket客户端和服务端简单示例
2014/02/24 Python
简单实现python聊天程序
2018/04/01 Python
numpy数组之存取文件的实现示例
2019/05/24 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
python 实现任务管理清单案例
2020/04/25 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
水污染治理工程专业求职信
2014/06/14 职场文书
销售员试用期自我评价
2014/09/15 职场文书
公积金接收函格式
2015/01/30 职场文书
python munch库的使用解析
2021/05/25 Python
Java8中Stream的一些神操作
2021/11/02 Java/Android