内容简介:翻译自:https://stackoverflow.com/questions/26176245/laravel-mysql-how-to-order-results-in-the-same-order-as-in-wherein-clause
我有两个查询,第一个给我一个id数组,这是一个特定的顺序.然后我将这个ID数组传递给第二个查询,如下所示:
Operation::whereIn('id', $ids)->get();
但是当我输出该查询的结果时,顺序已经改变,如果数组$ids类似于(4,2,6,9),这是我想要结果的顺序,输出将给我2 ,4,6,9.我怎么能避免这种情况?
MySQL的 排序 方式与where子句中的顺序相同:
$ids; // array of ids $placeholders = implode(',',array_fill(0, count($ids), '?')); // string for the query Operation::whereIn('id', $ids) ->orderByRaw("field(id,{$placeholders})", $ids)->get();
翻译自:https://stackoverflow.com/questions/26176245/laravel-mysql-how-to-order-results-in-the-same-order-as-in-wherein-clause
以上所述就是小编给大家介绍的《Laravel MySQL如何以与whereIn子句相同的顺序排序结果》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- SQL中 where 子句和having子句中的区别
- MySQL中包含IN子句的语句是怎样执行的
- sql-server – SQL Server:具有WHERE子句的多表连接
- c# – 使用表达式树创建完全动态的where子句并在IQueryable上执行
- Studio 3T中的新功能:支持SQL SELECT DISTINCT,WHERE子句中的JSON对象及更多
- ViewGroup 默认顺序绘制子 View,如何修改?什么场景需要修改绘制顺序?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。