php - 将变量传递给 laravel 模型引导
问题描述
我的应用程序使用 laravel 5.8。我有变量称为“很多”,当我删除一个时,我想执行其他操作。
所以我在我的模型上使用了删除功能,一切正常。
但是知道我的控制器上有一个删除许多“地块”的功能,我希望只有在所有“地块”都被删除而不是每个“地块”删除时才执行操作。
所以我想知道是否有办法实现这一目标?也许我们可以将变量传递给引导函数来触发或不触发函数?
我的模型如下所示:
protected static function boot()
{
parent::boot();
static::deleted(function($modele) {
Etage::doesntHave('lots')->delete();
}
}
解决方案
模型事件被设计为适用于单个模型。
你应该改用 Laravel事件,而不是绑定到模型。
在数组EventServiceProvider.php
中注册一个新的事件/监听器,比如$listens
LotsDeleted::class => PerformOtherAction::class
创建这些类php artisan event:generate
然后,当您完成删除所有Lot
对象后,触发事件
event(new LotsDeleted());
您的侦听器的handle()
函数将被调用,您可以执行其他操作。
推荐阅读
- python - 有人可以帮我了解如何使用 pyModbus 将字符串数据编码到数字显示板上吗?
- android - java.lang.IllegalArgumentException:无法为类创建调用适配器
- spring-mvc - 在启动 tomcat 服务器后的控制台中,我收到错误消息。当我的 spring mvc projetc 部署在 tomcat7 上时
- python - 如何在 Python 中从 netCDF 中提取经度和纬度范围内的数据?
- javascript - Javascript - 如何使用数组作为引用来引用对象嵌套值
- vba - 在鼠标点击时传递一个新值
- python - 使用 Spotipy 中 sp.albums 的 .json 输出从同一艺术家的多个专辑中获取曲目 ID
- python - 我可以在python主屏幕的弹出窗口中打开外部文件的gui屏幕吗?
- javascript - 我如何向第三方解释最后一行
- javascript - 灰盒渲染 react-google-maps 的 StandaloneSearchBox