j'ai des formulaire imbriqué
le premier ajout ca marche
formulaire voiture qui contient des sous formulaire modele marque, categorie
voici formulaire VoitureType
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
voici la formulaire AnnonceType
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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() )); }
Partager