我在一些模型之间设置了多对多的多态关系,一切似乎都运行得很好,只有一个小问题......
如果我多次添加相同的关系$book->genres()->save($scifi)
,它会在我的数据库中多次显示。也许这是故意的,也许不是。如果我忽略了某些东西,我希望在我开始制作方法之前让它以“Laravel”的方式运行,以确保一次只有一种关系存在于数据库中。
答案 0 :(得分:1)
使用sync
。它会同步而不是重复它。
$book->genres()->sync([$scifi->id], false);
不要忘记false
作为第二个参数,或者detach
之前的所有关联。