Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Rails查询的顺序取决于列_Mysql_Ruby On Rails_Activerecord - Fatal编程技术网

Mysql Rails查询的顺序取决于列

Mysql Rails查询的顺序取决于列,mysql,ruby-on-rails,activerecord,Mysql,Ruby On Rails,Activerecord,我在MySQL中有这个查询 SELECT * FROM dbo.Employee ORDER BY CASE WHEN is_outsourcing = 'true' THEN Country END Desc, CASE WHEN is_outsourcing = 'false' THEN joined_date END ASC 我试着做一个rails查询,这样所有的is_外包员工都会先下单,他们的订单由他们的国家决定。其余员工按加入日期订购 目前,我通过is_Outsouting fir

我在MySQL中有这个查询

SELECT * FROM dbo.Employee
ORDER BY 
CASE WHEN is_outsourcing = 'true' THEN Country END Desc,
CASE WHEN is_outsourcing = 'false' THEN joined_date END ASC
我试着做一个rails查询,这样所有的is_外包员工都会先下单,他们的订单由他们的国家决定。其余员工按加入日期订购

目前,我通过is_Outsouting first获得了此查询:

User.all.order(is_outsourcing DESC)

但我不知道怎么做后面的部分。有人能帮我吗?

您可以简单地将
按逻辑排序作为字符串:

User.all.
  order("CASE WHEN is_outsourcing = 'true' THEN Country END Desc,
         CASE WHEN is_outsourcing = 'false' THEN joined_date END ASC")