2014-12-03 34 views
1

我想根據數組中的值對ActiveRecord查詢進行排序。喜歡的東西:根據數組順序排序rails查詢

@fruits=Fruit.where(seeds: true)._________________________ 

說我想用數組['Red','Blue','Yellow']

我看到SQL支持自定義排序使用case語句的顏色對結果進行排序,並Rails的有一些利用這一點?

+1

我懷疑這一點,你可能不得不使用一些自定義的SQL與此:http://stackoverflow.com/a/9475755/2076787或MySQL的'FIELD'。 – 2014-12-03 16:13:32

回答

3

如果您使用MySQL,您可以使用FIELD。它看起來像:

@fruit = Fruit.where(seeds: true).order("FIELD(color, 'Red', 'Blue', 'Yellow')") 
+0

(假設顏色欄被稱爲「顏色」) – kddeisz 2014-12-03 16:21:51