2009-06-26 13 views
0

これは可能ですか?結合テーブルを結合するRailsモデル

イベントシステムでは、イベントは複数回発生する可能性があります。 (つまり、3日間のイベントで、毎日異なる時間に開催されている場合)。毎回それに関連する場所があります。最後に、各場所には住所が関連付けられています。さて、私のイベントモデルを通してこれらのアドレスを参照できますか?

私は概念的にはこのような何かを考えている:

class Event < ActiveRecord::Base 
    has_many :TimePlaces 
    has_many :Places :through => :TimePlaces 
    has_many :Addresses :through => :PlaceAddresses :through => :Places 

答えて

4

これは正しい構文です。

class Event < ActiveRecord::Base 
    has_many :time_places 
    has_many :places, :through => :time_places 
    has_many :addresses, :through => :places 

これでうまくいくはずですが、データベースを再設計する必要があります。ジョイン数が多すぎるクエリを実行するには、集中的なデータベースの精緻化が必要であり、アプリケーションの速度が大幅に低下します。

+0

私はあなたのアイデアが私の結合を制限することについてより好きです。これを行うためのより効率的な方法があるはずです。私はその方法を見つけるでしょう。 – kd7iwp

関連する問題