1
我有2个非相关的实体:外部和内部。我需要联合选择实体的所有结果。我使用ResultSetMapping和本地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();
我不断收到此错误:开捕致命错误:类学说的对象\ ORM \的EntityManager不能转换成字符串。
什么需要解决?
删除$从$ EM函数:$ this-> EM – viktor77
@ viktor77现在说注意:未定义property:em – user3793667
试试这个:$ em = $ this-> container-> get('doctrine') - > getManager(); –