[Rails3] 複数の外部キーがある場合のアソシエーション

参照元テーブルに外部キーが複数ある場合のアソシエーションの方法です。

usersテーブル
id(PK)
name

1
|
n

booksテーブル
id(PK)
rend_user_id(FK)
reserve_user_id(FK)
title

usersテーブルとbooksテーブルが1:nとなる構成で、
booksテーブルのrend_user_id、reserve_user_idがusersテーブルのidを指しているものとします。

このような場合にbooksからusersに対してアソシエーション定義するには、以下のようにします。

するとrend_user_id、reserve_user_idそれぞれに対してusersを関連付けることができます。

controllerで呼び出すには

のようにするとrend_user_id、reserve_user_idそれぞれに紐付いたusersテーブルのレコードを参照できます。

Railsって便利♪

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*