Anonymous
Перевести событие OnFlush с помощью Gedmo
Сообщение
Anonymous » 26 июн 2024, 03:27
У меня проблема с моим слушателем.
Код: Выделить всё
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() as $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() as $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);
}
}
}
И у меня есть эта ошибка:
Произошло исключение при выполнении 'INSERT INTO chambre_translations (локаль, объектный_класс, поле, внешний_ключ, содержимое) VALUES (?, ? , ?, ?, ?)':
SQLSTATE[HY093]: Неверный номер параметра: ни один параметр не был привязан
Если у кого-нибудь есть решение для меня, это было бы здорово!!!
Заранее спасибо.
Подробнее здесь:
https://stackoverflow.com/questions/314 ... with-gedmo
1719361626
Anonymous
У меня проблема с моим слушателем. [code]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() as $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() as $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); } } } [/code] И у меня есть эта ошибка: Произошло исключение при выполнении 'INSERT INTO chambre_translations (локаль, объектный_класс, поле, внешний_ключ, содержимое) VALUES (?, ? , ?, ?, ?)': SQLSTATE[HY093]: Неверный номер параметра: ни один параметр не был привязан Если у кого-нибудь есть решение для меня, это было бы здорово!!! Заранее спасибо. Подробнее здесь: [url]https://stackoverflow.com/questions/31477648/translate-on-onflush-event-with-gedmo[/url]