symfony - Translate on OnFlush Event with Gedmo -


i have problem listener.

public function onflush(onflusheventargs $args) {     ini_set('max_execution_time', 30000);     ini_set('memory_limit', '512m');      $em = $args->getentitymanager();     $uow = $em->getunitofwork();      foreach ($uow->getscheduledentityinsertions() $entity) {         if($entity->gettranslatable() == 1){             $translation = $this->translate($entity);              $repository = $em->getrepository('byjm\adminbundle\entity\translation\chambretranslation');              $repository                 ->translate($entity, 'nom', 'fr', $translation['fr'])                 ->translate($entity, 'nom', 'en', $translation['en'])                 ->translate($entity, 'nom', 'es', $translation['es'])                 ->translate($entity, 'nom', 'it', $translation['it'])                 ->translate($entity, 'nom', 'nl', $translation['nl'])                 ->translate($entity, 'nom', 'pt', $translation['pt'])             ;               $md = $em->getclassmetadata('byjm\adminbundle\entity\chambre');             $uow->recomputesingleentitychangeset($md, $entity);         }     }      foreach ($uow->getscheduledentityupdates() $entity) {         if($entity->gettranslatable() == 1){             $translation = $this->translate($entity);              $repository = $em->getrepository('byjm\adminbundle\entity\translation\chambretranslation');              $repository                 ->translate($entity, 'nom', 'fr', $translation['fr'])                 ->translate($entity, 'nom', 'en', $translation['en'])                 ->translate($entity, 'nom', 'es', $translation['es'])                 ->translate($entity, 'nom', 'it', $translation['it'])                 ->translate($entity, 'nom', 'nl', $translation['nl'])                 ->translate($entity, 'nom', 'pt', $translation['pt'])             ;               $em->persist($entity);              $md = $em->getclassmetadata('byjm\adminbundle\entity\chambre');             $uow->recomputesingleentitychangeset($md, $entity);         }     }          } 

and have error: exception occurred while executing 'insert chambre_translations (locale, object_class, field, foreign_key, content) values (?, ?, ?, ?, ?)':

sqlstate[hy093]: invalid parameter number: no parameters bound

if have solution me, awesome!!!

thanks in advance.

this not issue related gedmo.

as mentioned in this post, onflush called, changes calculated , need refresh them if change entity or create new entity.

so need add $em->persist($entity);

can try ? please

public function onflush(onflusheventargs $args) {      $em = $args->getentitymanager();      $uow = $em->getunitofwork();       $entities = array_merge(          $uow->getscheduledentityinsertions(),          $uow->getscheduledentityupdates()      );       foreach ($entities $entity) {          if($entity->gettranslatable() == 1){                $translation = $this->translate($entity);                 $repository = $em->getrepository('byjm\adminbundle\entity\translation\chambretranslation');                 $repository                      ->translate($entity, 'nom', 'fr', $translation['fr'])                      ->translate($entity, 'nom', 'en', $translation['en'])                      ->translate($entity, 'nom', 'es', $translation['es'])                      ->translate($entity, 'nom', 'it', $translation['it'])                      ->translate($entity, 'nom', 'nl', $translation['nl'])                      ->translate($entity, 'nom', 'pt', $translation['pt']);                  $em->persist($entity);                $md = $em->getclassmetadata(get_class($entity));                $uow->recomputesingleentitychangeset($md, $entity);          }       } } 

Comments