我有3张桌子:成员,团队和团队成员。每个团队可以有多个成员,但不得重复。此外,成员可以同时在许多团队中。
我想设置表团队成员,这样您就无法将相同的成员添加到表中两次。在我的迁移中,我有这个:
Schema::create('teammembers', function(Blueprint $table) {
$table->increments('id');
$table->integer('team_id');
$table->integer('member_id');
}
我知道如何自己设置外键,但在我的情况下,我需要限制只影响两个键的组合,原因如前所述。
答案 0 :(得分:1)
$table->unique(['team_id','member_id'])
将创建复合唯一索引,但仍然attach方法会尝试向数据透视表中添加一个新行,因此您需要小心。