Laravel - updateOrCreate или метод синхронизации?

Я пытаюсь понять, каким должен быть мой лучший маршрут, но для простоты я сделаю этот звук намного проще, чем он есть.

У меня есть две модели, одна под названием donor, а другая под названием donation. Что касается отношений, то у donor много donations.

В моей форме редактирования модели donor у меня есть возможность создавать, обновлять или удалять donations из той же формы.

Обновлять и создавать на данный момент легко, потому что я могу использовать updateOrCreate. Но что произойдет, если я захочу удалить пожертвование?

Выполнил бы я фактический запрос, отфильтровывая идентификаторы пожертвований, которые все еще были в форме редактирования (и, следовательно, не были удалены пользователем), а затем удалял бы оттуда модели? Или есть лучший способ справиться с этим действием?

Заранее спасибо.


person inuShiva    schedule 28.01.2019    source источник


Ответы (1)


В вашем DonationController вы можете выбрать пожертвования, которые хотите удалить, с помощью следующего запроса:

public function destroy($id)
{

 $donation = Donation::where('donor_id','=', $id)->get();
 $donation->delete();

}

На ваш взгляд, вы можете сделать форму удаления и отправить его на эту функцию в контроллере. Я думаю, что лучший способ сделать это — сделать foreach и зациклить пожертвования от донора внутри.

@foreach($donor->donations as $donation)
{
  <form method="POST" action="{{route('donor.destroy', $donation->id)}}">
  <button type="submit">Delete {{$donation->id}}</button>   
  </form>
}
@endforeach
person Piazzi    schedule 28.01.2019