0

次の2つのモデルの例があります。

モデル1

column 1 --- column 2 --- column 3 
id       --- fb_id    --- someOtherThing

モデル2

column 1 --- column 2 --- column 3 
id       --- fb_id    --- someOtherThing

たとえば、fb_idはbigintとしてのFacebookIDです。

最初のモデルの列2から2番目のモデルの列2への関係(たとえばbelongs_to)を構築するにはどうすればよいですか?

今のところ私はこのようなことをしています:

model 1:
belongs_to :model2, :foreign_key => 'fb_id'

しかし、2番目のモデルの列と一致する必要があるモデル1(列2)から列を事前に選択するにはどうすればよいですか?(このように、モデル1から列1を取得すると思います)。

合成中: リレーションを作成する方法(belongs_toまたはhas_manymodel1(:fb_id) => model2(:fb_id)

ではなく model1(:id) => model2(:fb_id)

4

1 に答える 1

1

私が正しく理解していれば、必要なのは有効な関連付けを持つレコードを取得することですよね?

次を使用してそれを行うことができます:

Model1.joins(:model2 => :fb_id)

これにより、有効な関連付けを持つModel1'のみが取得されます。

于 2012-12-03T13:23:08.747 に答える