質問に答える前に...user_idをTalentsテーブルに含めるべきではないと思います...ここでの主なアイデアは、「1人のタレントには多くのユーザーがいて、1人のユーザーには複数のタレントがいる」ということです。 NxNである必要があります。中間テーブルが必要です
参照:多対多
今
動的なこと(サブタレントの追加または削除)を行う場合は、再帰的な関係を使用できます。それはそれ自体に関連するテーブルです
TABLE TALENT
-------------
id PK
label
parent_id PK FK (a foreign key to table Talent)
参照:再帰的な関連付け
以前にモデルを使用している場合、テーブルTalentsが複数のレベルを含むことができるTREEになっているため、クエリを実行するのは悪夢かもしれません。タレントのテーブルは2つで十分だと思います。そうすればクエリが簡単になります
再帰的関係を使用する場合...トップレベルのタレントにはparent_idがないため、外部キーはnullを低くする必要があります...
幸運を! :)
編集: わかりました..モデルを作成しました..それをよりよく説明するために
編集 2番目のモデル(クリスマスツリーの形=D)Model&TalentとActor&Talentの関係は1x1の関係であることに注意してください。これを行うには、さまざまな方法があります(コメントの同じリンク )
ユーザーに才能があるかどうかを確認するには..クエリで3つのテーブルに参加します=)これがお役に立てば幸いです