Ruby on Railsでデータベースの関連付けをしてみよう!
こんにちは!9月からシリコンバレーでプログラミングすることを夢見て、インターファームでプログラマーとしてインターンさせて頂いている@shunkurosakiです。
4月に初めてdivを書いた大学生が、半年間でどこまで書けるようになるのかを、自分を経験と共に綴っていきます。
それでは、さっそく本日扱ったRailsでのデータベースの関連付けについて見て行きましょう!
データベースの関連付けを行うと、データベースに情報を格納する際、一人のユーザーに対して複数の情報を所有させることができます。例えば、飲食店でお客様が席の予約を取りますが、お客様は複数の予約をすることが出来ますし、お店は複数の予約を受け付けることが出来ます。この時、お店が自分の担当するお客様を調べるときに、予約を通して複数の患者を持つと考えることが出来ます。このような場合に、 has_many :through を利用します。
上記の内容を実装するためには以下のようになります。
app/models/shop.rb
has_many :member_langs has_many :customers, through: :member_langs
app/models/shop_customer.rb
belongs_to :member belongs_to :lang
app/models/customer.rb
has_many :member_langs has_many :shops, through: :member_langs
複数形にするのか単数形のままで記入するかを間違えやすいため、気をつけて下さい!
それではまた来週、アデュー!