我正在学习Symfony 2,当我提交表单时出现以下错误:
可捕获致命错误:传递给Doctrine\Common\Collections\ArrayCollection :: __ construct()的参数1必须是类型数组,给定对象,在C:\ xampp\htdocs\ppe2\vendor\doctrine\orm\lib\Doctrine中调用\ ORM\UnitOfWork.php在第555行并定义
这是我的代码:
控制器:
public function ajouterAction(Request $request){
$sponsor = new Sponsor();
$formulaire = $this->createForm(new SponsorType(), $sponsor)->add('Ajouter', 'submit');
if ($formulaire->handleRequest($request)->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($sponsor);
$em->flush();
$request->getSession()->getFlashBag()->add('notice', 'Le sponsor a bien été modfié !');
return $this->redirect($this->generateUrl('ffe_sponsor_voir', array('id' => $sponsor->getId())));
}
return $this->render('FFESponsorBundle:Sponsor:ajouter.html.twig', array(
'formulaire' => $formulaire->createView(),
));
}
Run Code Online (Sandbox Code Playgroud)
我的表单类型SponsorType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nom', 'text')
->add('rue', 'text')
->add('codePostal', 'text')
->add('ville', 'text')
->add('telephone', 'text')
->add('mail', 'text')
->add('nomRepresentant', 'text')
->add('typeSponsor', 'entity', array( …Run Code Online (Sandbox Code Playgroud) symfony ×1