symfony - 如何实现 dotrine 实体事件监听器
问题描述
我正在使用 Symfony 4.4,起初我想检查我发现的学说版本:在作曲家中:
doctrine/orm": "^2.4.5
在 symfony.lock 中:
"doctrine/orm": {
"version": "v2.7.0"
},
我必须信任哪一个?
所以主要问题是我正在尝试实现一个学说实体侦听器,但它对我不起作用:
应用\实体\管理员:
/**
* @ORM\Entity(repositoryClass="App\Repository\AdminRepository")
*
* @ORM\EntityListeners({"AdminListener"})
*/
class Admin implements UserInterface
服务.yaml:
admin_listener:
class: App\EventListener\Doctrine\AdminListener
tags:
-
name: doctrine.orm.entity_listener
event: preRemove
entity: App\Entity\Admin
method: preRemove
connection: 'default'
App\EventListener\Doctrine\AdminListener:
namespace App\EventListener\Doctrine;
use Doctrine\Persistence\Event\LifecycleEventArgs;
class AdminListener
{
public function preRemove(Admin $admin, LifecycleEventArgs $event)
{
dump($admin);
dd($event);
}
}
安慰:
>bin/console debug:event-dispatcher doctrine.orm.entity_listener
#output:
[WARNING] The event "doctrine.orm.entity_listener" does not have any
registered listeners.
解决方案
我有一个 DataPersister (API平台组件)在尝试 Doctrine 级别之前不允许删除的问题,因此我认为事件侦听器不起作用。否则,事件侦听器正在工作,并且有很多替代方法可以做到:
推荐阅读
- python - 微信评论页面有链接,但是抓包软件和get请求获取的内容不一样
- arrays - 合并来自多个工作表的表
- arrays - 从 Bash 中的标准输入文件动态填充两个数组
- android - 画布不在 SurfaceView 中绘制
- maven - 存储库测试单独运行但整体失败(mvn 测试)
- django - django 管理员重定向我无法连接
- asp.net - 如何将授权用户从一个应用程序传递到在同一服务器上运行的另一个应用程序?
- http - superagent 访问控制允许来源错误
- java - 以 JSON 格式保存 API 返回的图像
- google-apps-script - 谷歌脚本在时间敏感触发器上将单元格范围移动到存档表