Php laravel sync和detach无法删除所有实例
我正在做一个项目,用户可以处理多个项目,项目可以有多个用户处理。 在这个项目中,我使用sync方法在pivot表中添加和删除实例。 每当我使用“与空数组同步”或“分离”来删除具有特定项目id的所有实例时,它都不起作用,并且实例保持存在 虽然使用参数同步可以将数据添加到数据库中,但我发现删除不起作用是非常奇怪的。 与仅对一个实例进行同步相同,当数据库中有更多实例时,它将删除其他实例并保留该实例 我的职能:Php laravel sync和detach无法删除所有实例,php,laravel,sync,detach,Php,Laravel,Sync,Detach,我正在做一个项目,用户可以处理多个项目,项目可以有多个用户处理。 在这个项目中,我使用sync方法在pivot表中添加和删除实例。 每当我使用“与空数组同步”或“分离”来删除具有特定项目id的所有实例时,它都不起作用,并且实例保持存在 虽然使用参数同步可以将数据添加到数据库中,但我发现删除不起作用是非常奇怪的。 与仅对一个实例进行同步相同,当数据库中有更多实例时,它将删除其他实例并保留该实例 我的职能: public function update(CreateProjectRequest $r
public function update(CreateProjectRequest $request)
{
if($request->get('contribute'))
{
foreach($request->get('contribute') as $k => $contribute)
{
if($contribute == 1)
{
$this->project = $this->project->find($request->project_id);
$keys[] = $k;
}
}
}
if(isset($keys))
{
$this->project->users()->sync($keys);
}
else
{
$this->project->users->detach
如果我使用$this->project->users->syncarray,则相同;在引用的地方,我发现问题是,$this->project是空的,因为我在foreach中声明了它。
}
$this->project = $this->project->find($request->project_id);
$this->project->fill($request->input())->save();
return redirect('project');
}