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

複数形にするのか単数形のままで記入するかを間違えやすいため、気をつけて下さい!
それではまた来週、アデュー!