Page 1 of 1

So lösen Sie ein Ereignis aus, nachdem eine Antwort zurückgesendet wurde – die Bearbeitung von Bestell-E-Mails dauert zu

Posted: 03 Jan 2025, 17:03
by Guest
Ich arbeite an einer Laravel-Anwendung, die einfachen E-Commerce ermöglicht und über alle Funktionen verfügt. Ich stehe vor einem Problem: Wenn ich eine Bestellung aufgegeben habe, dauert es sehr lange, bis ich erfolgreich war.
Ich habe herausgefunden, dass das Problem durch E-Mail-Benachrichtigungen verursacht wird. Ich muss drei E-Mails senden, wenn eine Bestellung erstellt wird (Neue Bestellung an Administrator und Kunde, Bestandsaktualisierung an Administrator). Dieses Ereignis habe ich vor der Weiterleitung zur Erfolgsseite hinzugefügt, sodass die Erfolgsseite nur angezeigt wird, wenn diese Ereignisse abgeschlossen sind.
So lösen Sie dieses Ereignis nach der erfolgreichen Rückgabe aus oder eine andere Methode zum Auslösen eines Ereignisses ?

Code: Select all

public function createOrder(){
$order=new Order;
$order->comment="";
$order->payment_method=$request->payment_method;
$order->payment_status="unpaid";
$order->order_method=$request->order_method;
$order->client_name=$request->billing_first_name;
$order->client_last_name=$request->billing_last_name;
$order->client_email=$request->billing_email;
$order->phone=$request->billing_phone;
$order->order_price=0;
$order->save();

event(new OrderCreated($this->order->id)); // here i'm triggering event. event triggeing properly and emails working properly.

return redirect()->route('order.success', ['order' => $this->order]);

}