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从右向左/从左向右截取字符串的实现方法
Nov 28 PHP
ThinkPHP实现动态包含文件的方法
Nov 29 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
PHP使用redis实现统计缓存mysql压力的方法
Nov 14 PHP
Yii2隐藏frontend/web和backend/web的方法
Dec 12 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
简单谈谈PHP中的Reload操作
Dec 12 PHP
PHP基于DOMDocument解析和生成xml的方法分析
Jul 17 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 PHP
php实现记事本案例
Oct 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 htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
php调用shell的方法
2014/11/05 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
js document.write()使用介绍
2014/02/21 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
javascript 中的 delete及delete运算符
2015/11/15 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
angular6的table组件开发的实现示例
2018/12/26 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
Python中使用HTMLParser解析html实例
2015/02/08 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
python实现LRU热点缓存及原理
2019/10/29 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
HTML5在a标签内放置块级元素示例代码
2013/08/23 HTML / CSS
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
物流专业自荐信
2014/05/23 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
协议书格式模板
2016/03/24 职场文书
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android