でEntityManagerをinlcludeするためにどのように私はそのため私は、データベースにChangeSet
を保存する必要がEntityListener
ドクトリン/ symfonyは:EntityListener
/**
* Class BaseInformationListener
* @package AppBundle\EventListener
*/
class BaseInformationListener
{
/**
* @ORM\PreUpdate
*
* @param BaseInformation $baseInformation
* @param PreUpdateEventArgs $event
*/
public function preUpdateHandler(BaseInformation $baseInformation, PreUpdateEventArgs $event)
{
dump($baseInformation);
dump($event->getEntityChangeSet());
}
}
を持つエンティティBaseInformation
/**
* @ORM\Entity
* @ORM\EntityListeners({"AppBundle\EntityListener\BaseInformationListener"})
* @ORM\Table(name="BaseInformation")
*/
class BaseInformation
{ ...
を持っています。しかし私はEntityManager
へのアクセス権がありません。私はそれからサービスを作ることができますが、リスナーはエンティティの注釈を自動的に呼び出されます。では、ChangeSet
を保存するためにEnttiyManager
にアクセスするにはどうすればよいですか?
doctrineのどのバージョンをお使いですか? – Matteo
おそらく明白な見落としですか? $ event-> getEventManager(); http://www.doctrine-project.org/api/orm/2.5/class-Doctrine.ORM.Event.PreUpdateEventArgs.htmlこれらの種類のイベントの中でエンティティマネージャを使用しようとしてもうまくいきません。 – Cerad