首先在我的控制器中,我为我的附加字段附加这样的 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)
这将做同样的事情。