avatar

Как в Doctrine symfony сделать сохранить или обновить поле в postPersist?

Рейтинг 3.7 из 5. Голосов: 3080
Redy 2 года назад
4
,

0


Ответы (4)

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
2 года назад
MyBundle- Resources → config- services.yml файл:
CODE:
parameters: task.listener.class: MyBundle EventListener ProgectListener services: task.listener: class: MyBundle Entity Progect tags: - { name: doctrine.event_listener, event: postPersist }
MyBundle- EventListener-> ProgectListener.php:
PHP:
?php namespace MyBundle EventListener use Doctrine ORM Event LifecycleEventArgs use Doctrine ORM Event OnFlushEventArgs use MyBundle Entity Task class TaskListener { public function postPersist(LifecycleEventArgs $args) { $entity = $args->getEntity() $em = $args->getEntityManager() if ($entity instanceof Project) { $entity->setCode($entity->getName().' '.$entity-> getId()) $em-> persist($entity) $em-> flush() } } }
как это сделать через Паттерн Unit of Work Doctrine?
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
2 года назад
/config/service.yml
CODE:
acme_bundle.event_listener.product_entity: class: AcmeBundle EventListener ProductListener tags: - { name: doctrine.orm.entity_listener, entity: AcmeBundle Entity Product, event: postPersist, method: postPersist }
/EventListern/ProductListern.php
PHP:
public function postPersist(Product $product, LifecycleEventArgs $eventArgs) { $unitOfWork = $eventArgs->getEntityManager()-> getUnitOfWork() $unitOfWork-> scheduleExtraUpdate( $product, [ code = [null, $product-> getName(). - .$product-> getId()], ] ) }
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
2 года назад
Спасибо, simfony дивная штука, а как сделать обновление поля для unittest в postpersist методе, если он реализован в таком виде?
отправить
+ 0

Krasavica
, Kiyv
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений За 700 сообщений
803 Dec 13
1 год назад
hoping
отправить
+ 0


Чтобы оставить комментарий войдите или зарегистрируйтесь