2016-07-12 6 views
0

私のアプリでは、has_many関連からデータを取得するアプリケーション全体のクエリで使用する名前付きスコープを作成したいと考えています。同じ関連を含めエイリアスtoレールの結合方法2.3

ここ
Mysql::Error: Not unique table/alias: 'foo' 

は私の名前のスコープがどのように見えるかであるMySQLのエラーにつながる、:どのように私は私の更新ができ

named_scope :single_foo, :joins => :foo, :group => "foo.blip_id", :having => "count(foo.blip_id) = 1" 

:作るために声明に参加し、私は時に他の場所で私が問題に遭遇します次のようなクエリでは一意のテーブルエラーがないようにfooのエイリアスですか?また

Blip.single_foo.find(:all, :include => [ :foo ], :conditions => (......)) 

、ボーナスポイント誰かが単純な名前のスコープに私を導くことができれば、私は、単一のFooを持っているブリップ選択します。

答えて

0

エイリアスする必要はありません。 :include => [:foo]は、single_fooという名前のスコープの:joins呼び出しに既に含まれているため、後のクエリから取り出すことができます。だから私の質問はこれだった:

Blip.single_foo.find(:all, :conditions => (......)) 
関連する問題