首页 文章

对于多个表,DB多对多?

提问于
浏览
0

我有 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 回答

  • 1

    最佳做法是为每种用法设置单独的关联表 . 替代方案 - 将一个表中的所有交叉点与一个标志区分开来,最终会给出更加昂贵的查找更深层索引,但只有一个实际原因 . 从理论的角度来看,你已经用主要 Value 观混淆了主键 .

  • 0

    您可以查看多对多的多态关系(http://laravel.com/docs/eloquent#many-to-many-polymorphic-relations),因为标签可以属于帖子,内容或视频模型 . 事实上,Laravel docs网站上的示例与您的建议非常相似 .

相关问题