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+MYSQL开发工具及资源收藏
Jan 02 PHP
php google或baidu分页代码
Nov 26 PHP
用PHP实现读取和编写XML DOM代码
Apr 07 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 PHP
php对二维数组按指定键值key排序示例代码
Nov 26 PHP
php使用cookie保存用户登录的用户名实例
Jan 26 PHP
PHP将session信息存储到数据库的类实例
Mar 04 PHP
PHP精确计算功能示例
Nov 29 PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 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中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
javascript之学会吝啬 精简代码
2010/04/25 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
Vue环境搭建+VSCode+Win10的详细教程
2020/08/19 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
python动态性强类型用法实例
2015/05/09 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2018/02/26 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
python爬取淘宝商品销量信息
2018/11/16 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
python实现动态数组的示例代码
2019/07/15 Python
Python操作qml对象过程详解
2019/09/26 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
四年级评语大全
2014/04/21 职场文书
文秘应届生求职信
2014/07/05 职场文书
公务员爱岗敬业演讲稿
2014/08/26 职场文书
个人查摆剖析材料
2014/10/04 职场文书
2016年寒假社会实践活动心得体会
2015/10/09 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL