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