在一个非常简单的实体上:
class Users {
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
protected $userid;
/** @ORM\Column(type="string") */
protected $username;
}[...]
在尝试进行本机查询时
$rsm = new \Doctrine\ORM\Query\ResultSetMapping;
$rsm->addEntityResult('Application\Entity\Users', 'u');
$rsm->addFieldResult('u', 'test', 'username');
$rsm->addFieldResult('u', 'userid', 'userid');
$q = $objectManager->createNativeQuery('SELECT u.username as test, u.userid from users u where u.userid=17',$rsm);
$result = $result->getResult();
$result 使用 oracle(oci8 驱动程序和 pdo)返回一个空数组。使用 MySQL,一切正常。Oracle和MySQL之间的数据库完全相同,相同的表,相同的列。
'users' 表不为空,因为在使用 DQL 时,它可以工作。在使用带有本机查询的 addRootEntityFromClassMetadata() 时也可以使用。
似乎只有 oci8+addEntityResult() 才会出现问题。
任何想法 ?
提前谢谢。