Laravel 4 - 如何设置多个外键

时间:2014-07-09 15:42:40

标签: mysql laravel-4 eloquent

我有3张桌子:成员,团队和团队成员。每个团队可以有多个成员,但不得重复。此外,成员可以同时在许多团队中。

我想设置表团队成员,这样您就无法将相同的成员添加到表中两次。在我的迁移中,我有这个:

Schema::create('teammembers', function(Blueprint $table) {
    $table->increments('id');
    $table->integer('team_id');
    $table->integer('member_id');
}

我知道如何自己设置外键,但在我的情况下,我需要限制只影响两个键的组合,原因如前所述。

1 个答案:

答案 0 :(得分:1)

$table->unique(['team_id','member_id'])将创建复合唯一索引,但仍然attach方法会尝试向数据透视表中添加一个新行,因此您需要小心。