我正在尝试使用 KnpSnappyBundle 生成 Pdf,并在生成我的 Bill 实体时将位置保存在学说中。
为此,我需要打版服务,但我无法进入实体。
我读了 EventListener 并试图让一个工作。
我的 config.yml
services:
bill.listener:
class: MyCompany\CompanyBundle\EventListener\BillListener
tags:
- { name: doctrine.event_listener, event: onFlush }
还有我的听众
namespace MyCompany\CompanyBundle\EventListener;
use Doctrine\ORM\Event\OnFlushEventArgs;
class BillListener
{
public function onFlush(OnFlushEventArgs $args)
{
$em = $args->getEntityManager();
$uow = $em->getUnitOfWork();
foreach ($uow->getScheduledEntityInsertions() as $insertions) {
foreach ($insertions as $entity) {
if ($entity instanceof Bill) {
$entity->setFilename("test.pdf");
$md = $em->getClassMetadata(get_class($entity));
$uow->recomputeSingleEntityChangeSet($md, $entity);
}
}
}
}
}
我的账单实体有一个 setFilename 函数,我想在其中保存生成的账单的位置。但我什至不能让它工作。