gpt4 book ai didi

laravel - 删除模型时如何触发 Laravel (5.6) 事件?

转载 作者:行者123 更新时间:2023-12-04 00:30:58 25 4
gpt4 key购买 nike

当用户从系统中删除时,我试图触发一个事件,但我认为它删除我的用户太快了,所以我的事件不起作用。我要做的是在删除用户时进行广播。

这是 Controller :

public function destroy($id)
{
$user = new User();

$user = $user->find($id);

broadcast(new UserWasDeleted($user, Auth::user()))->toOthers();

$user->delete();

return response([
'status' => 'success',
'message' => 'The user was successfully deleted.'
], 200);
}

如果我删除 $user->delete(); 这将成功广播。线,并且当它在那里时不会广播。

我什至尝试为事件设置监听器,并删除监听器中的用户。它删除了用户,但仍然不广播。

最佳答案

SerializesModels trait 需要从处理已删除模型的事件中删除。

SerializesModels 是一个 trait,它只在事件(或作业)序列化时存储模型的 id,并在事件未序列化时从数据库重新获取模型。

这允许排队的进程在运行时从数据库中获取新模型,因此它们不会以过时的信息运行,但是当您从数据库中删除该行时,这将不可靠。

关于laravel - 删除模型时如何触发 Laravel (5.6) 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51065034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com