通过特定列值优先获取结果 - ActiveRecord

时间:2015-09-10 19:48:24

标签: ruby-on-rails activerecord

Rails 3.2

我知道如何使用.order方法使用ActiveRecord获取结果,但我坚持做相同的事情:

SELECT * from product ORDER BY case when status = 'new'

使用ActiveRecord。我尝试了不同的语法组合,但是在ActiveRecord API指南中我没有说明。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

看起来你正试图以CASE条件订购。在Rails中,您必须在CASE的调用中包含整个order,例如

Product.order("CASE status WHEN 'new' THEN 0 ELSE 1 END")