我正在构建一个跟踪项目的laravel应用程序。用户可以定义任务并将其附加到项目中。
我希望用户能够获得可以重复用于多个项目的任务列表。使用链接项目和任务的数据透视表非常简单:
public function up()
{
Schema::create('project_task', function($table)
{
$table->increments('id');
$table->integer('project_id');
$table->integer('task_id');
$table->timestamps();
});
}
但是,我希望用户能够根据项目为任务设置不同的截止日期。因此,在项目1中,任务A将在一周内到期。在项目2中,任务A将在一个月内到期。
存储这些类型值的最佳表架构是什么?是否需要另一个将任务参数链接到项目ID的数据透视表?我不知道如何处理这件事。
感谢您的投入。
编辑:我使用了Eloquent ORM,因此枢轴行永远不会真正公开,它只会抓取与Task
相关联的Project
对象。
答案 0 :(得分:0)
您只需将due_date
字段添加到project_task
表即可。所以总共有三个表项目,任务和project_task(你在问题中有)
像这样,您将定义task
一次,并为每个项目指定不同的截止日期
修改强>
您可以定义包含due_date
的自定义数据透视表模型,请参阅Defining A Custom Pivot Model