我尝试一个创建,但他不执行转储。我创建了一个实体,一个侦听器,并更新了service.yml
太疯狂了;-)
我有:在services.yaml
App\EventListener\TestOrmListener:
tags:
- { name: doctrineormtester,event: postPersist, entity: 'App\Entity\Galery'}在src/EventListener/TestOrmListener.php中
<?php
namespace App\EventListener;
use App\Entity\Galery;
use Doctrine\Persistence\Event\LifecycleEventArgs;
class TestOrmListener
{
// the listener methods receive an argument which gives you access to
// both the entity object of the event and the entity manager itself
public function postPersist(LifecycleEventArgs $args): void
{
$entity = $args->getObject();
// if this listener only applies to certain entity types,
// add some code to check the entity type as early as possible
if (!$entity instanceof Galery) {
return;
}
$entityManager = $args->getObjectManager();
dump($entityManager);
die('mick');
// ... do something with the Product entity
}
}实体中的一个
<?php
namespace App\Entity;
use App\Repository\GaleryRepository;
use Doctrine\ORM\Mapping as ORM;
use App\Entity\Traits\Timestampable;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass=GaleryRepository::class)
* @ORM\HasLifecycleCallbacks
*/
class Galery
{
use Timestampable;
/**
* @ORM\Id
* @Assert\NotBlank
* @ORM\Column(type="string", length=255)
*/
private $nom;你有什么主意吗?
发布于 2020-12-22 13:56:35
您的标签部分有问题。根据官方的文档
下一步是在Symfony应用程序中启用Doctrine侦听器,方法是为它创建一个新服务并使用doctrine.event_listener标记对其进行标记。
因此,您的服务定义应该如下所示:
App\EventListener\TestOrmListener:
tags:
- { name: 'doctrine.event_listener', event: 'postPersist', entity: 'App\Entity\Galery' }https://stackoverflow.com/questions/65409308
复制相似问题