Bonjour tout le monde,
J'ai un problème qui me tracasse depuis des heures...En effet, j'ai une entité ELECTION qui est en ManyToOne avec les entités TYPEELECTION, SCRUTIN, NIVEAUCENTRALISATION. Bien entendu, dans l'enregistrement d'une élection, je dois choisir le typeElection auquel il appartient ainsi que le mode de scrutin et le niveau de centralisation. Quand je le fais, je reçois l'erreur suivante:

Catchable Fatal Error: Argument 1 passed to Election\SecretBundle\Entity\Election::setTypeElection() must be an instance of Election\SecretBundle\Entity\Election\SecretBundle\Entity\TypeElection, instance of Election\SecretBundle\Entity\TypeElection given, called in F:\wamp\www\Symfony\vendor\symfony\symfony\src\Symfony\Component\Form\Util\PropertyPath.php on line 537 and defined in F:\wamp\www\Symfony\src\Election\SecretBundle\Entity\Election.php line 209

Il me semble (je peux me tromper) que,lors de la validation du formulaire, au moment du traitement, il attent des objets de type respectif TYPEELECTION, SCRUTIN, NIVEAUCENTRALISATION mais il reçoît plutôt des attributs comme présidentielle , uninominal et bureau de vote respectifs des entités. à noter que pour récupérer dans la base de données et afficher ces attributs, j'ai fait ceci lors de le création des formulaires dans ElectionType

[code]$builder
->add('libelle')
->add('date' , 'date')
->add('nbTour' , 'choice' , array(
'choices' => array('1' => '1', '2' => '2'),
))
->add('nbSiege' , 'integer')
->add('pourcentRequis', 'percent')
->add('typeElection','entity',array(
'class' => 'ElectionSecretBundle:TypeElection',
'property' => 'libelle',
))
->add('scrutin','entity',array(
'class' => 'ElectionSecretBundle:scrutin',
'property' => 'libelle',
))
->add('niveauCentralisation','entity',array(
'class' => 'ElectionSecretBundle:NiveauCentralisation',
'property' => 'libelle',
))[/code]
je pense qu'il faut peut-être convertir ces attribut en objet correspondant... Si c'est le cas, comment faire? et si c'est autre chose, faites moi des propositions s'il vout plaît.

Aucune réponse