У меня есть два несвязанных объекта: внешний и внутренний. Мне нужно, чтобы союз выбирал все результаты от сущностей. Я использую ResultSetMapping и Native SQL, чтобы сделать это:Ошибка Symfony2: объект класса Doctrine ORM EntityManager не может быть преобразован в строку
$em = $this->getDoctrine()
->getManager()->getConnection();
$rsm = new \Doctrine\ORM\Query\ResultSetMapping();
$rsm->addEntityResult('ExternalBundle:External', 'e');
$rsm->addFieldResult('e', 'id', 'id');
$rsm->addFieldResult('e', 'status', 'status');
$rsm->addFieldResult('e', 'name', 'name');
$rsm->addEntityResult('InternalBundle:Internal', 'i');
$rsm->addFieldResult('i', 'id', 'id');
$rsm->addFieldResult('i', 'status', 'status');
$rsm->addFieldResult('i', 'name', 'name');
$sql = "SELECT e.*
FROM external_print e
UNION
SELECT i.*
FROM internal_print i";
$objects = $this->$em->createNativeQuery($sql, $rsm)->getResult();
Я получаю эту ошибку: Catchable Фатальная ошибка: Объект класса Doctrine \ ORM \ EntityManager не может быть преобразован в строку.
Что нужно исправить?
удалить $ от $ эм: $ this-> эм – viktor77
@ viktor77 теперь говорит Примечание: Не определено свойство: em – user3793667
Попробуйте следующее: $ em = $ this-> container-> get ('doctrine') -> getManager(); –