2017-10-10 09:27:07 1889次浏览 0条回答 0 悬赏 10 金钱

SELECT * FROM user WHERE id IN(2,3,1) ORDER BY FIELD(id,2,3,1)
这句sql如何用YII2的QueryBuilder写出来,求指教。

另外一个同学回答了一个答案,发出来供大家一起学习。

$query->orderBy(["FIELD (id, 1,2,8,6,5)" => null]);
补充于 2017-10-10 09:44

例如:User::find()->where(['in', 'id', [2, 3, 1]])->orderBy("field(id,2,3,1)->all();
微信图片_20171010094927.png

补充于 2017-10-10 10:10

已解决,有兴趣的朋友可以看看解决办法
https://stackoverflow.com/questions/33746910/order-by-rand-in-yii2

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
lixu
助理

lixu

注册时间:2016-06-17
最后登录:2018-08-29
在线时长:13小时3分
  • 粉丝1
  • 金钱50
  • 威望0
  • 积分180

热门问题