您好我需要在删除之前从Observer重定向laravel代码。这是我的代码,
<?php
namespace App\Observers;
use App\Models\Product;
class ProductObserver {
/**
* Listen to the Product deleting event.
*
* @param App\Models\Product $product
* @return void
*/
public function deleting(Product $product) {
try {
\Stripe\Stripe::setApiKey(env("STRIPE_SECRET"));
$product = \Stripe\Product::retrieve($product->id);
$product->delete();
} catch (\Stripe\Error\Base $e) {
return redirect()
->route("voyager.products.index")
->with([
'message' => "Api error : ".$e->getMessage(),
'alert-type' => 'success',
]);
}
}
}
但是项目会在没有重定向的情况下被删除。有谁知道这样做的方法?提前谢谢。
答案 0 :(得分:0)
非常感谢所有帮助过的人。在我看来,使用控制器真的很难。所以我做了一点挖掘,发现->send()
我们可以从任何地方重定向。我添加它以防其他人也遇到这样的情况。我也无法使用Flash消息,因为我需要阻止删除。
public function deleting(Product $product) {
try {
\Stripe\Stripe::setApiKey(env("STRIPE_SECRET"));
$product = \Stripe\Product::retrieve($product->id);
$product->delete();
} catch (\Stripe\Error\Base $e) {
return redirect()
->route("voyager.products.index")
->with([
'message' => "Api error : " . $e->getMessage(),
'alert-type' => 'success',
])->send();
}
}