2016-12-09 4 views
1

Rails 4. Psql DBの使用。Rails 4 - アトリビュートの存在による注文

私はモデルArticleの属性がamazon_titleです。私はどのようにしてamazon_titleが存在する記事が最初であり、なしのものが2番目であるように記事を注文することができないのか理解できません。

ノー成功を収めて、このようにそれらを注文しようとしました:

Article.all.order(amazon_title: :desc) 

上記の受注は、それがアルファベット順に、空白の最初に、本第二を示し、そしてゼロの第三。

私はこれがとてもシンプルだと感じますが、なんらかの理由で私は答えを見つけることができません。ありがとう!

のPostgreSQL(順序は truefalsenilになります)については
+0

どのデータベースを使用していますか? – RSB

+0

psql @RSBを使用して – Kathan

答えて

2

:あなたに依存NULLS FIRST OR NULLS LASTを渡すことができますPostgreSQLで

Article.order('(CASE WHEN amazon_title THEN 1 WHEN amazon_title IS NULL THEN 2 ELSE 3 END) ASC') 
2

Article.order('amazon_title DESC NULLS LAST') 

別のオプション(不可知論データベース)要件。だから私はあなたのDBについてあなたに尋ねました。

Article.order('amazon_title DESC NULLS FIRST') 

は上記の最初のNULLSを一覧表示し、

Article.order('amazon_title DESC NULLS LAST') 

と、この1はNULLレコードを最後に一覧表示されます。

希望に役立ちます!

関連する問題