[Symfony2]Problème Ajout de deux entités dans un même form
J'essaie d'ajouter des informations dans deux entités à travers un seul formulaire.
Voici l'erreur que je rencontre:
Code:
1 2 3 4
|
<?php
Catchable Fatal Error: Argument 1 passed to Khaoula\BlogBundle\Entity\Commande::setArticle() must be an instance of MyBundle\Entity\Article, array given, called in C:\wamp\www\TestRayhane\vendor\symfony\src\Symfony\Component\Form\Util\PropertyPath.php on line 347 and defined in C:\wamp\www\TestRayhane\src\Khaoula\BlogBundle\Entity\Commande.php line 98
?> |
voici le code du controlleur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
<?php
public function indexAction($name)
{
return $this->render('MyBundle:Default:index.html.twig', array('name' => $name));
}
public function AjouterAction()
{
$Article=new Article();
$Commande=new Commande();
$form=$this->createForm(new CommandeType(), $Commande);
$request=$this->get('request');
if ($request->getMethod()=='POST'){
$form->bindRequest($request);
if($form->isValid()){
$em=$this->getDoctrine()->getEntityManager();
$em->persist($Commande);
$em->flush();
}
}
return $this->render('MyBundle:Default:Ajouter.html.twig',array('form'=>$form->createView()));
}
?> |
Le code de la classe CommandeType :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?php
class CommandeType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('date', 'date')
->add('qute', 'text')
->add('article', new ArticleType())
;
}
public function DefaultOptions(OtpionsResolverInterface $resolver){
$resolver->setDefaults(array('dat_access'=>'khaoula\BlogBundle\Entity\Commande'));
}
public function getName()
{
return 'khaoula_blogbundle_commandetype';
}
}
?> |
Sachant que j'ai ajouté un champ dans la classe Commande comme suit :
Code:
1 2 3 4 5 6 7
|
<?php
/**
* @ORM\OneToOne(targetEntity="Khaoula\BlogBundle\Entity\Article",cascade={"persist"})
*/
private $article;
?> |