Laravel - sync() method in Many-to-many relationship not updating model
我的视图有一个多重选择框,可用于为用户分配某些资产。从表
1 2 3 | <label for="assets" class="col-sm-5 control-label">Assets </label> {{Form::select('assets[]',$user->assets, $user->takenAssets, ['id'=>'assets','multiple','class'=>'select2 form-control'])}} |
在上面的选择框中,
此多重选择框下方有五个文本字段,允许用户输入可选的序列号,每个文本框均作为名为
的名称字段
现在,一旦控制器接收到请求,就会运行以下代码:
1 2 3 4 5 6 7 8 |
for循环中发生的
它不是在更新
sync方法将要同步的ID数组作为参数,并将分离所有其他ID。这意味着如果您一个一个地同步ID,则第二个同步时将分离第一个ID,第二个将同步第三个...
如果$ request-> assets是一个ID数组,为什么不简单地执行:
1 2 3 | if($request->has('assets')) { $user->assets()->sync($request->assets); } |