質問: 例えばClientAccountという顧客情報が入っているテーブルとCreatorAccountというクリエイター情報が入っているテーブルがあるとします。 この顧客はクリエイターを多数お気に入りが出来るとします。 しかしクリエイターにはお気に入りされる側であり、お気に入りする機能がないとします。 最初は顧客とクリエイターは1対Nの関係であるとは思ったのですが、テーブルで上手く表現できません。 そこでお気に入りテーブルという中間テーブルを挟んでみたのですが、顧客は多数のお気に入りを持つとしても、クリエイターは多数のお気に入りを持つ訳ではないので、クリエイターテーブルから鳥足を伸ばしてしまうと顧客とクリエイターはN:Nの関係になってしまい、両方ともお気に入り出来てしまうことになってしまいます。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/ae4cadb13f0f0027c664ce768a26c659.png) どうリレーションを書けば、上記の機能が実現できるでしょうか。 Active Record の関連付け こちらのリンク先にある、Active Recordのモデル同士の関連付けを宣言する方法を踏まえて解説をしていただけると有り難いです。 よろしくお願い致します。
回答: クリエイターが一人の顧客から気に入られたら他の顧客からは お気に入りをもらえないという仕様でしょうか? (ホストクラブの永久指名制度のようなもの?) そういうことならクリエイターテーブルに顧客IDを埋め込むカラムを 1つ作っておくだけで済みます