我发生了一些奇怪的事情,我无法理解,想知道是否有人可以帮助我弄清楚发生了什么事。
我有 2 个表(评估者、流程)和一个数据透视表(process_assessor)。我正在尝试使用评估者的流程更新数据透视表,因此我有一个表单,在提交时会传递给此方法......
public function updateProcesses( $id )
{
$assessor = $this->model->find( $id );
return $assessor->processes()->sync( $this->request->get( 'process_id' ) );
}
这工作正常,但是当将用户更新为没有进程时,我收到一条错误消息......
Argument 1 passed to Illuminate\Database\Eloquent\Relations\BelongsToMany::formatSyncList() must be of the type array, null given, called
但是,(这是奇怪的一点)我还有一个用户配置文件模块,它使用完全相同的方式与数据透视表“同步”,但是当我提交该表单且未选中该特定模块的所有选项时,它就可以工作了,用户在枢轴中与它们分离。
我究竟做错了什么?有任何想法吗?
简单地转换为数组:
return $assessor->processes()->sync( (array) $this->request->get('process_id') );
或者,您可以使用空数组作为默认值get()
:
return $assessor->processes()->sync( $this->request->get('process_id', []) );
然而第一个选择更可靠。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)