Erreur ajout annonce symfony2
j'ai des formulaire imbriqué
le premier ajout ca marche
formulaire voiture qui contient des sous formulaire modele marque, categorie
voici formulaire VoitureType
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('prix')
->add('km')
->add('urlImage1')
->add('urlImage2')
->add('urlImage3')
->add('urlImage4')
->add('categorie','entity',array('class'=>'MyappAuto24Bundle:Categorie',
'property'=>'intitule'))
->add('ville','entity',array('class'=>'MyappAuto24Bundle:Ville',
'property'=>'intitule'))
->add('modele','entity',array('class'=>'MyappAuto24Bundle:Modele',
'property'=>'intitule'))
->add('energie','entity',array('class'=>'MyappAuto24Bundle:Energie',
'property'=>'designation'))
->add('equipements','entity',array('class'=>'MyappAuto24Bundle:Equipement',
'property'=>'intitule'))
;
} |
mais lors de création de l'annonce c a d persister l'annonce et voiture en même temps
j'ai l'erreur suivant :
Code:
Warning: spl_object_hash() expects parameter 1 to be object, string given in E:\wamp\www\auto24\vendor\doctrine\lib\Doctrine\ORM\UnitOfWork.php line 1248
voici la formulaire AnnonceType
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('titre')
->add('date')
->add('description')
->add('reference')
->add('ip')
->add('voiture',new VoitureType())
;
} |
et voici l'action de controlleur AnnonceController
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public function ajouterAction()
{
$entity = new Annonce();
$request = $this->getRequest();
$form = $this->createForm(new AnnonceType(), $entity);
$form->bindRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getEntityManager();
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('voiture_show', array('id' => $entity->getId())));
}
return $this->render('MyappAuto24Bundle:Annonce:ajouter.html.twig', array(
'entity' => $entity,
'form' => $form->createView()
));
} |
merci d'avance