У меня метод выглядит следующим образом:
public function saveContacts(Request $request) { if($request->contacts) { $contacts = collect($request->contacts)->pluck('id'); $this->contacts()->sync($contacts->toArray()); } }
Он работает, но если $request->contacts
– пустой массив, он не удаляет все записи. Что может быть здесь?
Вы можете сделать это:
if ($request->contacts) { $contacts = collect($request->contacts)->pluck('id')->toArray(); if (empty($contacts)) { $this->contacts()->detach(); } else { $this->contacts()->sync($contacts); } }