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语法速查表
Jan 02 PHP
PHP n个不重复的随机数生成代码
Jun 23 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
php 文章采集正则代码
Dec 28 PHP
PHP加密扩展库Mcrypt安装和实例
Nov 10 PHP
php中动态修改ini配置
Oct 14 PHP
简单谈谈favicon
Jun 10 PHP
PHP变量赋值、代入给JavaScript中的变量
Jun 29 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
Nov 04 PHP
phpstorm 配置xdebug的示例代码
Mar 31 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
如何在PHP中生成随机数
Jun 04 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 可变函数使用小结
2018/06/12 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
javascript实现博客园页面右下角返回顶部按钮
2015/02/22 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
Python查看多台服务器进程的脚本分享
2014/06/11 Python
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
Python单链表的简单实现方法
2014/09/23 Python
Python中__name__的使用实例
2015/04/14 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
水果超市创业计划书
2014/01/27 职场文书
阳光体育活动方案
2014/02/16 职场文书
《狮子和兔子》教学反思
2014/03/02 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
小学一年级学生评语
2014/04/22 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
会员卡清退活动总结
2014/08/27 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
主题班会开场白
2015/06/01 职场文书
校园之声广播稿
2015/08/18 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
Python 全局空间和局部空间
2022/04/06 Python
nginx搭建NFS网络文件系统
2022/04/14 Servers