あなたはは、ブログの記事や動画間で共有されているユニークなタグの単一 リストを持つことができます。
私は「タグ付けできる」エンティティとして、taggable_id
参照posts.id
またはvideos.id
のいずれかを言うだろう、という読みました。次に、taggable_type
が質問に答えます。taggable_id
は動画ですか、投稿ですか。
より良い視覚化のための完全なテーブル構造:
posts
id - integer
name - string
videos
id - integer
name - string
tags
id - integer
name - string
taggables
tag_id - integer
taggable_id - integer
taggable_type - string
例:
投稿
+----+-----------+
| id | name |
+----+-----------+
| 12 | test post |
+----+-----------+
動画
個の
+----+-----------+
| id | name |
+----+-----------+
| 5 | test vid |
+----+-----------+
タグ
+----+--------------+
| id | name |
+----+--------------+
| 88 | programming |
+----+--------------+
taggables
+--------+-------------+---------------+
| tag_id | taggable_id | taggable_type |
+--------+-------------+---------------+
| 88 | 12 | post |
+--------+-------------+---------------+
| 88 | 5 | video |
+--------+-------------+---------------+
はい、しかしTAG_IDその後、何ですか? – Leff
まあまあ、それは言う:タグのID、 'タグ'テーブルから。繰り返しますが、1つのタグを投稿と動画の間で*共有*することができます。 – lesssugar