Rails按特定顺序按多个值激活查询顺序?
我有一张桌子
Roles(id int,,name vachar(50),role enum(CAD,CA,CM,CV ))
我想要按特定顺序按特定值排序的选择数据。 我的活动模型查询:role.order(’role asc’)然后是结果:
1 name1 CAD 2 name2 CA 3 name2 CM
但我希望结果如下:
1 name1 CAD 2 name2 CM 3 name2 CA
谁能帮我? 提前致谢
一个可移植的解决方案是使用CASE语句作为ORDER BY中的内联映射:
query.order(%q{ case role when 'CAD' then 1 when 'CM' then 2 when 'CA' then 3 end })
请记住,您可以ORDER BY您想要的任何表达式,CASE肯定是SQL中的表达式。