Mysql 与变量表的一对多关系

Mysql 与变量表的一对多关系,mysql,sql,laravel,eloquent,relationships,Mysql,Sql,Laravel,Eloquent,Relationships,因此,我有一个电视节目的网站,我目前有以下表格结构,仅列出了相关列: Table 1 - TV Shows id Table 2 - Episodes id Table 3 - Comments target value 电视节目和剧集都可以有评论,因此目标列指定它是电视节目还是剧集评论,值列指定它的ID 我已经考虑过合并这两个栏目,并使用x_ID tvshow_ID或eposion_ID,比如:tvshow_45或eposion_9458 但我真正想知道的是:做这件事的最好方法是什么?

因此,我有一个电视节目的网站,我目前有以下表格结构,仅列出了相关列:

Table 1 - TV Shows
id

Table 2 - Episodes
id

Table 3 - Comments 
target
value
电视节目和剧集都可以有评论,因此目标列指定它是电视节目还是剧集评论,值列指定它的ID

我已经考虑过合并这两个栏目,并使用x_ID tvshow_ID或eposion_ID,比如:tvshow_45或eposion_9458

但我真正想知道的是:做这件事的最好方法是什么?用我描述的两种方法,我不能使用外键,我不知道这有什么好处,但我想这很好。另一个问题是使用拉威尔雄辩的特征

我可以创建两个注释表,但我不知道这是唯一的还是最好的方法

有人能帮我处理一下吗

先谢谢你


Gabe.

它在laravel中的工作方式是使用可注释的列:

然后你使用,让雄辩者为你处理一切

如果您正在使用迁移,laravel可以为您生成这些列:

架构::创建“注释”,函数$table { $table->increments'id'; $table->morphs'commentable'; $table->string'value'; };
它甚至会自动为您创建一个复合索引

要完全回答这个问题,需要了解获取这些数据所使用的访问模式。例如,您是否总是在查询剧集信息的同时查询节目信息?您是否需要直接搜索评论并查找与之相关的节目/剧集?等等…正是我需要的!我现在觉得自己很傻,因为在文件上错过了它,哈哈。非常感谢你!
id, commentable_id, commentable_type, value