Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF2][SF][Symfony] EventListener - metoda postUpdate, Nie działa listner po update danych
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Zarejestrowałem sobie serwis i stworzyłem EventListenera z metodą postUpdate, która jak dobrze rozumiem działa w momencie gdy robiony jest Update na danej entity.

Zrobiłem więc stronę, na której edytuję wybrany mecz, wpisuję wynik i klikam przycisk "Zapisz" .
Dane w bazie dla entity Meet zostają zaktualizowane , jednak Event Listener wygląda na to że nie zadziałał ponieważ ani w logach nie mam info o żadnych błędach , ani w bazie danych w entity Type, której pole NumberOfPoints miało być zaktualizowane nie jest wypełnione.

services.yml

  1. service:
  2. ....
  3. result_listener:
  4. class: AppBundle\EventListener\ResultListener
  5. tags:
  6. - { name: doctrine.event_listener, event: postUpdate }


AppBundle\EventListener\ResultListener.php

  1. namespace AppBundle\EventListener;
  2. use Doctrine\ORM\Event\LifecycleEventArgs;
  3.  
  4. class ResultListener {
  5. public function postUpdate(LifecycleEventArgs $args)
  6. {
  7. $entity = $args->getEntity();
  8. $em = $args->getEntityManager();
  9.  
  10. if ($entity instanceof Meet) {
  11. $meet_id = $entity->getId();
  12. $typeRepo = $em->getRepository('AppBundle:Type');
  13. $types = $typeRepo->findByMeetId($meet_id);
  14.  
  15. foreach ($types as $type){
  16. $type->setNumberOfPoints(4);
  17. $em->persist($type);
  18. }
  19.  
  20. $em->flush();
  21. }
  22. }
  23. }


Ten post edytował damianooo 12.02.2017, 22:13:30
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 21:27