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]);
}