2011-08-09 11 views
0

私は別のテーブルを参照するフィールドに基づいてソートしています(そして、他のテーブルの '名前'フィールドでソート)。問題は、最初のオブジェクトセットに、他のオブジェクトへの参照を持たないエントリがある場合、そのエントリがソートから除外されることです。RoR:検索ロジック:デフォルトの左内部結合の代わりに左結合を実行するにはどうすればよいですか?

要するに、私は別のテーブルへの参照であるカラムを持っていますが、そのテーブルのカラムをソートしていますが、nullリファレンスも含めたいと思っています。

答えて

1

私は私はあなたの質問を理解しますが、たとえば、あなたがnamed_scopeを書くとき、あなたがこのようなオプションを渡すことができ、100%わからない:私は、

def my_fancy_method_returning_things 
association_name.all :limit => 5, :joins => 'LEFT JOIN ... ON ... = ...', :order => ...' 
end 
+0

ああ:

named_scope descend_it_by_that_other_column, :select => "", :joins => "LEFT JOIN ...", :conditions => "..." 

別の例を名前付きスコープをオーバーライドするとは思わなかった。私は少しそれを試してみます。ありがとう。 – NullVoxPopuli

+1

searchlogicを使用していて、あなたのparamsに次のようなものがある場合: "search" => {"order" => "ascend_by_rating"}の場合、searchlogicは定義されていれば名前付きスコープのascend_by_ratingを使用します。私はこれが助けて欲しい:) – socjopata

関連する問題