Doctrine2在获取记录之前附加记录

时间:2012-09-26 21:32:13

标签: symfony doctrine-orm

我从表'disability_types'获取所有类型(id,name)。在此之后,我需要在结果数组前面添加id = -1的新记录'all'。然后这些记录用于填充多项选择。我这样做:

$disabilityType = $this->getDoctrine()->getRepository("AldenBonBundle:DisabilityType")->findAll();

我试过了:

$item = new \Alden\BonBundle\Entity\DisabilityType();
$item->setAsAll();//set name and id
array_unshift($disabilityType, $item);

但这给了我错误Entities passed to the choice field must be managed。经过一番研究,我试过了

$disabilityType = $this->getDoctrine()->getEntityManager()->merge($item);

但这会产生错误Entity was not found

我应该如何将新的$ item合并到disabilityType?

1 个答案:

答案 0 :(得分:0)

您需要使用数组水合作用,从而对阵列进行操作。

$query = $entityManager
             ->createQuery('SELECT d FROM AldenBonBundle\DisabilityType d');
$disabilityTypes = $query->getResult(Query::HYDRATE_ARRAY);

现在$disabilityTypes变量是一个数组,你可以array_unshift等等。