2016-12-06 16 views
0

にクエリを組み合わせる:こんにちは、私はプロジェクトに取り組んでいると私は2つのデータベースクエリの結果を取り、私が持っている現時点では、1 ActiveRecord_AssociationRelationにそれらを結合する必要がありActiveRecord_AssociationRelation

results.where(pos_or_neg: "neg").order("value DESC") + (results.where(pos_or_neg: "pos").order("value ASC")) 

するしかし、これは返しますあとでもっと処理する必要があるので、うまくいきません。私は試しました:

results.where(pos_or_neg: "neg").order("value DESC").merge(results.where(pos_or_neg: "pos").order("value ASC")) 

しかし、これは結果の半分を返すようです。

おかげ

+0

[値]のデータ型は何ですか?整数か浮動小数点か文字列ですか? – dnsh

+0

日付型です。 – user2320239

答えて

0

results.order( "pos_or_negのASC、= pos_or_negケース" NEG "は、その後他、値-1 *値の終わりDESC")

0

私はマージ使用すると、照会の同等であると考えていますSQLで。あなたが探しているものは、ORクエリです。 Rails 5以降、これは使用可能なActive Recordクエリメソッドの1つです! http://api.rubyonrails.org/classes/ActiveRecord/QueryMethods.html#method-i-or

てみ.ORであなたの.mergeを交換し、それが良い作品かどうかを確認するために

+0

残念ながら、プロジェクトはレール5を使用していません – user2320239

関連する問題