sync() 和 attach() 不能一起工作



首先在我的控制器中,我为我的附加字段附加这样的 id 数组:

$property->features()->attach($additional_ids);

然后我使用 sync()因为我有复选框:

 $property->features()->sync($features);

但问题是当我有这个时,我的attach()不起作用。任何建议如何解决此问题?当我删除此sync()时,我的附件正在工作。所以想法是我有功能的复选框,并且我有一些附加功能的输入字段。我将此ID存储在数据透视表中。

sync()将覆盖attach()所做的所有更改。因此,只需合并数组并使用sync()

$property->features()->sync(array_merge($features, $additional_ids));

使用这个:

$property->features()->sync($features, false);

这将在不分离的情况下同步。

或者您也可以致电:

$property->features()->syncWithoutDetaching($features)

这将做同样的事情。

最新更新