Symfony Doctrine2在获取记录之前追加记录

Symfony Doctrine2在获取记录之前追加记录,symfony,doctrine-orm,Symfony,Doctrine Orm,我从“残疾类型”表中获取所有类型(id、名称)。在这之后,我需要用id=-1的新记录'all'作为结果数组的前缀。然后,这些记录被用于填写多项选择。我有: $disabilityType = $this->getDoctrine()->getRepository("AldenBonBundle:DisabilityType")->findAll(); 我试着: $item = new \Alden\BonBundle\Entity\DisabilityType(); $ite

我从“残疾类型”表中获取所有类型(id、名称)。在这之后,我需要用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);
但是这给了我一个错误
传递到选择字段的实体必须被管理
。经过一些研究,我试着

$disabilityType = $this->getDoctrine()->getEntityManager()->merge($item);
但未找到该生成错误
实体


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

您需要使用数组类型,从而对数组进行操作

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

现在,
$disabilityTypes
变量是一个数组,您可以
array\u unshift
等等。

您想为查看而预先设置此变量吗?