我有 posts table和 content 表,并且它们都有 tags 并且为了连接它们,我想我应该使用多对多关系表(它将存储每个id) .
但我想知道是否需要为每个与标签表关联的新表/内容执行此操作?
所以在这种情况下我应该有2个关系表:
post_tag
-
post_id
-
tag_id
content_tag
-
content_id
-
tag_id
对?
所以,如果生病有另一张 table ,让我们说 videos 然后我会有另一个关系表?
video_tag
-
video_id
-
tag_id
因为我和laravel 4一起工作,所以很好地处理查询对吗?
2 回答
最佳做法是为每种用法设置单独的关联表 . 替代方案 - 将一个表中的所有交叉点与一个标志区分开来,最终会给出更加昂贵的查找更深层索引,但只有一个实际原因 . 从理论的角度来看,你已经用主要 Value 观混淆了主键 .
您可以查看多对多的多态关系(http://laravel.com/docs/eloquent#many-to-many-polymorphic-relations),因为标签可以属于帖子,内容或视频模型 . 事实上,Laravel docs网站上的示例与您的建议非常相似 .