我有一个奇怪的问题,当我尝试创建一个在数据库中检索到对象的表单时会抛出错误:
$user = $this->getUser();
try {
$group = $this->getDoctrine()
->getRepository('MuzichCoreBundle:Group')
->findOneBySlug($slug)
->getSingleResult()
;
} catch (\Doctrine\ORM\NoResultException $e) {
throw $this->createNotFoundException('Groupe introuvable.');
}
if ($group->getOwner()->getId() != $user->getId())
{
throw $this->createNotFoundException('Vous n\'ête pas le créateur de ce groupe.');
}
$form = $this->createForm(
new GroupForm(),
$group,
array('tags' => $this->getTagsArray())
);
return array(
'group' => $group,
'form' => $form->createView()
);
=>
“array”,“Doctrine \ ORM \ PersistentCollection”类型的预期参数
但是,如果它是一个新对象,没有问题:
$form = $this->createForm(
new GroupForm(),
new Group(),
array('tags' => $this->getTagsArray())
);
=>没有错误
你现在有什么问题吗?
修改:问题“已解决”,请参阅下面的评论。
答案 0 :(得分:0)
您不需要getSingleResult:
$group = $this->getDoctrine()
->getRepository('MuzichCoreBundle:Group')
->findOneBySlug($slug)
;