我在Symfony 2存储库中执行以下本地查询:
$sql = "SELECT f.id, f.title, 'hi' AS custom_field FROM my_feed f";
$em = $this->getEntityManager();
$rsm = new \Doctrine\ORM\Query\ResultSetMapping($em);
$rsm->addEntityResult('MedicalCoreBundle:Feed', 'f');
$rsm->addFieldResult('f', 'id', 'id');
$rsm->addFieldResult('f', 'title', 'title');
$rsm->addFieldResult('f', 'custom_field', 'custom_field');
$query = $em->createNativeQuery($sql, $rsm);
$result = $query->getResult();
我已经在
Feed
实体中创建了非映射属性custom_field
以及它的getter和setter getCustomField
和setCustomField
。
映射字段被正确地填充,但是当我添加custom_field
RSM时,我会收到以下错误:Notice: Undefined index: custom_field [...] in symfony\..\AbstractHydrator.php
。
实体代码
// non mapped field
private $custom_field;
public function getCustomField()
{
return $this->custom_field;
}
public function setCustomField($number)
{
$this->custom_field = (int) $number;
return $this;
}
我在这里做错了什么吗?
customField
(在实体中),会发生什么? - Julien Bourdic$query->getArrayResult()
,它可以工作。 - Romain Bruckert