所以,我有一个电视节目的网站,我目前有以下表格结构(仅列出相关栏目):
Table 1 - TV Shows
id
Table 2 - Episodes
id
Table 3 - Comments
target
value
电视节目和剧集都可以有评论,所以"目标"列指定它是否是"电视节目"或者#34;插曲"评论和"价值" column指定其ID。
我已经想过合并两个列并使用" x_ID" (" tvshow_id"或" episode_id",如:" tvshow_45"或" episode_9458")。
但我真正想知道的是:最好的方法是什么?通过我描述的两种方式,我无法使用外键(我不知道这有什么好处,但我认为它很好)。另一个问题是使用Laravel的Eloquent功能......
我可以创建两个评论表,但我不知道它是唯一还是最好的方式...
有人可以帮我管理吗?
提前谢谢。
加布。
答案 0 :(得分:0)
它在laravel中的工作方式,您使用commentable_*
列:
id, commentable_id, commentable_type, value
然后你使用a polymorphic relationship,以便Eloquent为你处理它。
如果您正在使用迁移,laravel可以为您生成这些列:
Schema::create('comments', function($table)
{
$table->increments('id');
$table->morphs('commentable');
$table->string('value');
});
它甚至会自动为你创建一个复合索引!