Help us understand the problem. What is going on with this article?

has_manyとbelongs_toの使い方

プログラミングの勉強日記

2020年8月2日 Progate Lv.226
has_manybelongs_toの使い分けに戸惑った。has_manyのときに複数形にするのを忘れてしまい、うまく実行されなかったので、has_manybelongs_toについてまとめる。

関連付け(アソシエーション)とは

 2つのテーブルを関連付けさせること。テーブル間の関係をモデル上の関係として操作する仕組み。
 テーブル同士の関係には「1:1」「1:多」「多:多」の3つの関係が存在する。今回は「1:1」「1:多」の関係を表すときに使うhas_manybelongs_toについてまとめる

 今回は、UserテーブルのidをPostテーブルと関連付けをして、誰の投稿かわかるようする。

has_manyとは

 has_manyは「1:多」の関連付けを表し、〇〇が複数の〇〇を所有しているという関係を表す時に使う。関連付けをすることによって、データをまとめて扱えるようになるので、より効率的にデータベースを操作することができる。

models/user.rb
class User < ApplicationRecord
  has_many :posts
end

 has_manyを使うときは複数形にする

belongs_toとは

 belongs_toは「1:1」の関連付けを表し、〇〇が◯◯に従属するという関係を表す時に使う。

models/post.rb
class Post < ApplicationRecord
  belongs_to :user
end

 belongs_toを使うときは単数形にする

 

mzmz__02
2020年5月26日から毎日投稿しています。 フロントエンドエンジニアを目指し、独学で勉強中です。
https://www.instagram.com/bb___m13
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした