我用Google搜索了手指的酸痛处,看不到有人在讨论这个问题,但是我怀疑Laravels syncWithoutDetaching()
方法没有为save()
,{ {1}}和sync()
是吗?
有人知道吗?在API文档中,该方法具有以下参数:
attach()
我无法将现有数据添加到来宾和事件之间的关系中。我需要为客人添加状态以及他们正在参加的活动(可能参加或拒绝)。
答案 0 :(得分:2)
sync()
和syncWithoutDetaching()
都没有用于附加值的参数,您必须将附加值作为带有id的数组传递。
根据{{3}}:
您还可以传递带有ID的其他中间表值:
$user->roles()->sync([
1 => ['expires' => true],
2,
3
]);
如果您查看docs,可以看到syncWithoutDetaching()
只是调用sync()
,但是将false
作为第二个参数传递。
在您的情况下,将是这样的:
$event->guests()->syncWithoutDetaching([
1 => ['attending' => true],
2 => ['attending' => false]
])