提问人:Jiwon 提问时间:10/11/2023 更新时间:10/11/2023 访问量:27
删除的 Laravel (5.8) 观察器不起作用
Laravel (5.8) observer deleted is not working
问:
我正在使用 Laravel (5.8),我需要从表 A 中删除一条记录,然后从表 B 中删除一条记录。
所以我尝试了观察者,但它从未触发观察者的方法。deleted
我已经使用过其他方法,例如 或 ,所以我不知道为什么该方法没有触发。
我不使用软删除,因为我没有创建此数据库架构,并且我没有修改它的权限。但根据我从文件中读到的内容,这并不重要.右?updating
updated
deleted
这是我的代码。
- 支付控制器.php
public function delete(Request $request, $idx){
$payData = PaymentData::where('idx', $idx)->delete();
return response()->json(['status' => true]);
}
- 支付观察员.php
public function deleted(PaymentData $paymentData)
{
if ($paymentData->pay_type == "PA") {
$app = AppData::where('oid', $paymentData->oid)->first();
if (!empty($app)) {
$app->delete();
}
}
}
- AppServiceProvider.php
public function boot()
{
\App\Models\PaymentData::observe(\App\Observers\PayObserver::class);
}
我还尝试将观察语句添加到引导方法中,但它也不起作用。
我阅读了官方文件,但找不到任何线索。我错过了什么?EventServiceProvider.php
答:
1赞
Jiwon
10/11/2023
#1
找到了。
而不是这样做,
$payData = PaymentData::where('idx', $idx)->delete();
我应该这样做。
$payData = PaymentData::where('idx', $idx)->first();
$payData->delete();
我以为我已经试过了...... 无论如何,就是这样。希望官方文件有更多细节。:)
评论