#プログラミングの勉強日記
2020年8月2日 Progate Lv.226
has_many
とbelongs_to
の使い分けに戸惑った。has_many
のときに複数形にするのを忘れてしまい、うまく実行されなかったので、has_many
とbelongs_to
についてまとめる。
#関連付け(アソシエーション)とは
2つのテーブルを関連付けさせること。テーブル間の関係をモデル上の関係として操作する仕組み。
テーブル同士の関係には「1:1」「1:多」「多:多」の3つの関係が存在する。今回は「1:1」「1:多」の関係を表すときに使うhas_many
とbelongs_to
についてまとめる
今回は、UserテーブルのidをPostテーブルと関連付けをして、誰の投稿かわかるようする。
#has_manyとは
has_many
は「1:多」の関連付けを表し、〇〇が複数の〇〇を所有しているという関係を表す時に使う。関連付けをすることによって、データをまとめて扱えるようになるので、より効率的にデータベースを操作することができる。
class User < ApplicationRecord
has_many :posts
end
has_many
を使うときは複数形にする
#belongs_toとは
belongs_to
は「1:1」の関連付けを表し、〇〇が◯◯に従属するという関係を表す時に使う。
class Post < ApplicationRecord
belongs_to :user
end
belongs_to
を使うときは単数形にする