1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

記事投稿キャンペーン 「2024年!初アウトプットをしよう」

掲示板のお気に入り機能の多対多アソシエーションイメージ

Posted at

掲示板のブックマーク機能を作成していて、ググっていくうちに混乱して多対多のアソシエーションのイメージが訳わからなくなったのでメモです。
実務未経験エンジニアなので間違ってたらご指摘お願いします。

前提として、User、Board、Bookmarkというモデルがあります。
Userから見てBoardは一体多の関係にあります(これは簡単)。
逆に言えばBoardから見てUserは多対一です(これもまぁそうだよねという感じ)。
では、Bookmarkを追加するにあたって、UserとBoardに多対多の関係を持たせてください←?

UserとBoardの間にはすでにアソシエーションがあるのにいかに?
Bookmarkはどこいったんだ?

絵として描き描きしていて気づいたのですが、Bookmarkを中間テーブルにすることで多対多のアソシエーションが成り立つのですね。
もっと具体的にいうと、UserはBookmarkを通してBoardと多対多(その逆も然り)のアソシエーションになる、ということです。

絵にするとこんな感じ
Untitled Notebook-4.jpg

(本来はモデルの中身も書くべきでしょうが、今回はモデルのアソシエーションのみに着目したかったので省略しました)

あと私が自ら描き描きしなくても先人が詳細な説明をされていました。
https://qiita.com/ramuneru/items/db43589551dd0c00fef9

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?