Я работаю над проектом, в котором пользователи могут работать над несколькими проектами, а над проектами могут работать несколько пользователей.
В этом проекте я использую метод синхронизации для добавления и удаления экземпляров в сводной таблице.
Всякий раз, когда я использую синхронизацию с пустым массивом или отключаюсь, чтобы удалить все экземпляры, которые имеют определенный идентификатор проекта, это не работает, и экземпляры продолжают существовать.
Хотя синхронизация с параметрами работает для добавления данных в базу данных, мне очень странно, что удаление не сработает.
То же самое с синхронизацией только для одного экземпляра, в то время как в базе данных есть больше экземпляров, она удалит другие экземпляры и сохранит один.
Моя функция:
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-> пользователей () -> открепление ();
}
$this->project = $this->project->find($request->project_id);
$this->project->fill($request->input())->save();
return redirect('project');
}
Задача ещё не решена.
Других решений пока нет …