2014-10-13 61 views
0

我正在构建跟踪项目的laravel应用程序。用户可以定义任务并将其附加到项目。带附加参数的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的数据透视表?我不知道如何处理这个。

感谢您的输入。

编辑:我使用雄辩ORM,所以枢轴行从未真正暴露,它只是抓住与Project关联的Task对象。

回答

0

您可以简单地将due_date字段添加到project_task表中。因此,在总,您将有三个表项目,任务和project_task(你在你的问题有)

这样你将定义task一次,就可以对每个项目分配不同的到期日

编辑

可以定义包括due_date看到Defining A Custom Pivot Model定制透视模型

+0

@ iTech--我认为,但由于在模型级别定义的关系,当你用雄辩的系统它从来没有真正拉动数据透视表 - 抓取数据透视表指向的对象,即实际的“Task”而不是“project_task”行。 – user101289