laravel多对多删除和更新

时间:2014-08-05 23:10:30

标签: php laravel laravel-4 blade

我有很多关系。

刀片代码中的

我使用actionID[]

发送了许多项目

然后我像这样插入它们:

$detailsAttribute->actions()->sync(Input::get('action_id'));

现在我想更新该模型。

我使用了同样的陈述

$detailsAttribute->actions()->sync(Input::get('action_id'));

它会创建新操作但不删除旧操作。换句话说,当我编辑模型$detailsAttribute时,我会删除较旧的操作,并选择许多新的

我的问题是如何在考虑删除未选择的操作的情况下更新模型?

1 个答案:

答案 0 :(得分:1)

sync()方法会删除数据透视表中的所有项目(如果它们不存在) Input::get('action_id') array。如果它们未被删除,则意味着您也在新数组中传递旧数据。 var_dump你的输入,看看你得到了什么样的数组。