带有附加参数的laravel pivot表

时间:2014-10-13 04:18:09

标签: php laravel laravel-4

我正在构建一个跟踪项目的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对象。

1 个答案:

答案 0 :(得分:0)

您只需将due_date字段添加到project_task表即可。所以总共有三个表项目,任务和project_task(你在问题中有)

像这样,您将定义task一次,并为每个项目指定不同的截止日期

修改

您可以定义包含due_date的自定义数据透视表模型,请参阅Defining A Custom Pivot Model