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 相关文章推荐
ZF等常用php框架中存在的问题
Jan 10 PHP
Zend framework处理一个http请求的流程分析
Feb 08 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
Oct 31 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
PHP引用(&)各种使用方法实例详解
Mar 20 PHP
php 伪造ip以及url来路信息方法汇总
Nov 25 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
php指定长度分割字符串str_split函数用法示例
Jan 30 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 PHP
php7 图形用户界面GUI 开发示例
Feb 22 PHP
phpmyadmin在宝塔面板里进不去的解决方案
Jul 06 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
中国收音机工业发展史
2021/03/02 无线电
PHP 编程安全性小结
2010/01/08 PHP
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
php模板引擎技术简单实现
2016/03/15 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
微信小程序开发之map地图实现教程
2017/06/08 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
js实现三角形粒子运动
2020/09/22 Javascript
python中的全局变量用法分析
2015/06/09 Python
Python实现二叉搜索树
2016/02/03 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
Python实现针对json中某个关键字段进行排序操作示例
2018/12/25 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
Python bisect模块原理及常见实例
2020/06/17 Python
python PIL模块的基本使用
2020/09/29 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
电子专业推荐信范文
2013/11/18 职场文书
大学生村官典型材料
2014/01/12 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
教师个人师德总结
2015/02/06 职场文书
中学生自我评价2015
2015/03/03 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
青年教师听课心得体会
2016/01/15 职场文书