我的用户模型有一个观察者。在我的观察者->创建的事件中我有一些代码。
public function created(User $user)
{
sendEmail();
}
因此,我们的想法是,当创建用户时,系统将向用户发送帐户已创建的电子邮件通知。
问题:当数据库进行播种时,它还会调用此方法“已创建”并向用户(位于种子中)发送电子邮件通知。
所以,我的问题是,我如何检查,可能在这个“创建”方法中,目前 Laravel 正在播种数据 -> 不发送电子邮件或不运行“创建”观察者方法。
尝试谷歌,找到了一些东西,但工作不正确。
就像是YourModel::flushEventListeners();
您可以使用YourModel::unsetEventDispatcher();
临时删除模型的事件侦听器。
如果您在同一执行中播种后需要它们,您可以读取调度程序,取消设置它们,然后再次设置它们。
$dispatcher = YourModel::getEventDispatcher();
// Remove Dispatcher
YourModel::unsetEventDispatcher();
// do stuff here
// Re-add Dispatcher
YourModel::setEventDispatcher($dispatcher);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)