我从表'disability_types'中获取所有类型的(id,name)。在此之后,我需要在生成的数组前面加上id=-1的新记录"all"。然后,这些记录用于填充多项选择。我愿意:
$disabilityType = $this->getDoctrine()->getRepository("AldenBonBundle:DisabilityType")->findAll();
我试过:
$item = new AldenBonBundleEntityDisabilityType();
$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合并到残疾类型中?
您需要使用数组水合,从而对数组进行操作。
$query = $entityManager
->createQuery('SELECT d FROM AldenBonBundleDisabilityType d');
$disabilityTypes = $query->getResult(Query::HYDRATE_ARRAY);
现在$disabilityTypes
变量是一个数组,您可以array_unshift
等等。