Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
symfony2本机查询为null,但sql查询有一个_Symfony_Doctrine Orm - Fatal编程技术网

symfony2本机查询为null,但sql查询有一个

symfony2本机查询为null,但sql查询有一个,symfony,doctrine-orm,Symfony,Doctrine Orm,有人知道为什么nativequery结果为空吗 $rsm = new ResultSetMapping; $rsm->addEntityResult('AcmeTestBundle:event', 'e'); $rsm->addFieldResult('e', 'id', 'id'); $query = $this->getEntityManager()->createNativeQuery('SELECT id FROM event WHERE publickey C

有人知道为什么nativequery结果为空吗

$rsm = new ResultSetMapping;
$rsm->addEntityResult('AcmeTestBundle:event', 'e');
$rsm->addFieldResult('e', 'id', 'id');

$query = $this->getEntityManager()->createNativeQuery('SELECT id FROM event WHERE publickey COLLATE latin1_general_cs = ?', $rsm);
$query->setParameter(1, $eventkey);

return $query->getSingleResult();
当我直接在mysql中运行查询时,我得到了正确的结果。 这是从控制台创建的查询:

[2012-06-24 18:08:08] doctrine.DEBUG: SELECT id FROM event WHERE publickey COLLATE latin1_general_cs = ? (["key"]) [] []
我在另一个实体上使用相同的函数,得到了正确的结果。 有人有主意吗


谢谢大家!

您可能必须在结果映射中添加所有实体字段


实际上,只有id,doctrine无法为您的对象添加水合物。

我只检查是否存在一行,不需要整个对象。相同的用法适用于其他实体:-/如果不需要水合作用,为什么不直接使用DBAL?我认为这是检查select语句区分大小写的唯一方法。对于其他任何事情,我都需要DBAL。你知道用doctrine2检查case sensitivie的另一个案例吗?也许这样就足够了:
$this->getEntityManager()->getConnection()->query('your query here')->fetch()