Symfony 使用本机查询的Doctrine2 ORM
我有以下命令:Symfony 使用本机查询的Doctrine2 ORM,symfony,orm,doctrine-orm,Symfony,Orm,Doctrine Orm,我有以下命令: $rsm = new ResultSetMapping(); $query = $this->em->createNativeQuery('SELECT userid FROM prospective_shop WHERE LENGTH(bio) = 0 ORDER BY RAND()', $rsm); //$query->setMaxResults(10); $prospectiveShops = $query
$rsm = new ResultSetMapping();
$query = $this->em->createNativeQuery('SELECT userid FROM prospective_shop WHERE LENGTH(bio) = 0 ORDER BY RAND()', $rsm);
//$query->setMaxResults(10);
$prospectiveShops = $query->getResult();
这里它给了我一个空数组。我复制粘贴了SQL,它工作得非常好。知道为什么吗?你没有忘记使用:
$rsm->addFieldResult(...);
将查询结果映射到条令对象
编辑:
试着这样做:
$rsm = new ResultSetMapping();
$rsm->addEntityResult('my\bundle\Entity\ProsprectiveShop', 's');
$rsm->addFieldResult('s','userid','userid');
$query = $this->em->createNativeQuery('SELECT userid FROM prospective_shop s WHERE LENGTH(bio) = 0 ORDER BY RAND()', $rsm);
$prospectiveShops = $query->getResult();
那么在上面的例子中,我应该添加什么?您是否也更改了SQL查询?“来自未来商店”编辑了回复。。。我的错。。。现在只需将正确的实体放在这里:注意:第2433行的/Users/Aditya/Sites/MySite/vendor/doctrine/orm/lib/doctrine/orm/UnitOfWork.php中的未定义索引:id