Formulaire:Relation ManyToMany avec attributs

Par maty003, il y a 10 ans


Bonjour à tous,
J'ai un problème, j'ai deux entités dans mon application Evaluation et Rubrique avec une relation ManyToMany entre ces 2 entités. La relation intermédiaire EvaluationRubrique contient un champ note. Voici le code de mes entités:
Entité: Evaluation.php

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

<?php namespace Gpa\FournisseurBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * Evaluation * * @ORM\Table() * @ORM\Entity(repositoryClass="Gpa\FournisseurBundle\Entity\EvaluationRepository") */ class Evaluation { /** * @var integer * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var \DateTime * * @ORM\Column(name="data_evaluation", type="date") */ /** * @var string * * @ORM\Column(name="libelle", type="string", length=255) */ private $libelle; private $dataEvaluation; /** * @var string * * @ORM\Column(name="modele", type="string", length=255) */ private $modele; /** * @var string * * @ORM\Column(name="conclusion", type="string", length=255, nullable=true) */ private $conclusion; /** * @var string * * @ORM\Column(name="fiche_evaluation", type="string", length=255, nullable=true) */ private $ficheEvaluation; /** * @ORM\OneToMany(targetEntity="Gpa\FournisseurBundle\Entity\EvaluationRubrique",mappedBy="evaluation") */ private $evaluationRubriques; /** * Get id * * @return integer */ public function getId() { return $this->id; } /** * Set dataEvaluation * * @param \DateTime $dataEvaluation * * @return Evaluation */ public function setDataEvaluation($dataEvaluation) { $this->dataEvaluation = $dataEvaluation; return $this; } /** * Get dataEvaluation * * @return \DateTime */ public function getDataEvaluation() { return $this->dataEvaluation; } /** * Set modele * * @param string $modele * * @return Evaluation */ public function setModele($modele) { $this->modele = $modele; return $this; } /** * Get modele * * @return string */ public function getModele() { return $this->modele; } /** * Set conclusion * * @param string $conclusion * * @return Evaluation */ public function setConclusion($conclusion) { $this->conclusion = $conclusion; return $this; } /** * Get conclusion * * @return string */ public function getConclusion() { return $this->conclusion; } /** * Set ficheEvaluation * * @param string $ficheEvaluation * * @return Evaluation */ public function setFicheEvaluation($ficheEvaluation) { $this->ficheEvaluation = $ficheEvaluation; return $this; } /** * Get ficheEvaluation * * @return string */ public function getFicheEvaluation() { return $this->ficheEvaluation; } /** * Constructor */ public function __construct() { $this->evaluationRubriques = new \Doctrine\Common\Collections\ArrayCollection(); } /** * Add evaluationRubrique * * @param \Gpa\FournisseurBundle\Entity\EvaluationRubrique $evaluationRubrique * * @return Evaluation */ public function addEvaluationRubrique(\Gpa\FournisseurBundle\Entity\EvaluationRubrique $evaluationRubrique) { $this->evaluationRubriques[] = $evaluationRubrique; return $this; } /** * Remove evaluationRubrique * * @param \Gpa\FournisseurBundle\Entity\EvaluationRubrique $evaluationRubrique */ public function removeEvaluationRubrique(\Gpa\FournisseurBundle\Entity\EvaluationRubrique $evaluationRubrique) { $this->evaluationRubriques->removeElement($evaluationRubrique); } /** * Get evaluationRubriques * * @return \Doctrine\Common\Collections\Collection */ public function getEvaluationRubriques() { return $this->evaluationRubriques; } /** * Set libelle * * @param string $libelle * * @return Evaluation */ public function setLibelle($libelle) { $this->libelle = $libelle; return $this; } /** * Get libelle * * @return string */ public function getLibelle() { return $this->libelle; } } ?>

Entité: Rubrique.php

<?php namespace Gpa\FournisseurBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * Rubrique * * @ORM\Table() * @ORM\Entity(repositoryClass="Gpa\FournisseurBundle\Entity\RubriqueRepository") */ class Rubrique { /** * @var integer * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string * * @ORM\Column(name="designation", type="string", length=255) */ private $designation; /** * @var integer * * @ORM\Column(name="coef", type="integer") */ private $coef; /** * @ORM\OneToMany(targetEntity="Gpa\FournisseurBundle\Entity\EvaluationRubrique",mappedBy="rubrique") */ private $evaluationRubriques; /** * Get id * * @return integer */ public function getId() { return $this->id; } /** * Set designation * * @param string $designation * * @return Rubrique */ public function setDesignation($designation) { $this->designation = $designation; return $this; } /** * Get designation * * @return string */ public function getDesignation() { return $this->designation; } /** * Set coef * * @param integer $coef * * @return Rubrique */ public function setCoef($coef) { $this->coef = $coef; return $this; } /** * Get coef * * @return integer */ public function getCoef() { return $this->coef; } /** * Constructor */ public function __construct() { $this->evaluationRubriques = new \Doctrine\Common\Collections\ArrayCollection(); } /** * Add evaluationRubrique * * @param \Gpa\FournisseurBundle\Entity\EvaluationRubrique $evaluationRubrique * * @return Rubrique */ public function addEvaluationRubrique(\Gpa\FournisseurBundle\Entity\EvaluationRubrique $evaluationRubrique) { $this->evaluationRubriques[] = $evaluationRubrique; return $this; } /** * Remove evaluationRubrique * * @param \Gpa\FournisseurBundle\Entity\EvaluationRubrique $evaluationRubrique */ public function removeEvaluationRubrique(\Gpa\FournisseurBundle\Entity\EvaluationRubrique $evaluationRubrique) { $this->evaluationRubriques->removeElement($evaluationRubrique); } /** * Get evaluationRubriques * * @return \Doctrine\Common\Collections\Collection */ public function getEvaluationRubriques() { return $this->evaluationRubriques; } } ?>

Entité: EvaluationRubrique.php

<?php namespace Gpa\FournisseurBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * EvaluationRubrique * * @ORM\Table() * @ORM\Entity(repositoryClass="Gpa\FournisseurBundle\Entity\EvaluationRubriqueRepository") */ class EvaluationRubrique { /** * @ORM\Id * @ORM\ManyToOne(targetEntity="Gpa\FournisseurBundle\Entity\Evaluation", inversedBy="evaluationRubriques") */ private $evaluation; /** * @ORM\Id * @ORM\ManyToOne(targetEntity="Gpa\FournisseurBundle\Entity\Rubrique", inversedBy="evaluationRubriques") */ private $rubrique; /** * @var integer * * @ORM\Column(name="note", type="integer") */ private $note; /** * Get id * * @return integer */ public function getId() { return $this->id; } /** * Set note * * @param integer $note * * @return EvaluationRubrique */ public function setNote($note) { $this->note = $note; return $this; } /** * Get note * * @return integer */ public function getNote() { return $this->note; } /** * Set evaluation * * @param \Gpa\FournisseurBundle\Entity\Evaluation $evaluation * * @return EvaluationRubrique */ public function setEvaluation(\Gpa\FournisseurBundle\Entity\Evaluation $evaluation) { $this->evaluation = $evaluation; return $this; } /** * Get evaluation * * @return \Gpa\FournisseurBundle\Entity\Evaluation */ public function getEvaluation() { return $this->evaluation; } /** * Set rubrique * * @param \Gpa\FournisseurBundle\Entity\Rubrique $rubrique * * @return EvaluationRubrique */ public function setRubrique(\Gpa\FournisseurBundle\Entity\Rubrique $rubrique) { $this->rubrique = $rubrique; return $this; } /** * Get rubrique * * @return \Gpa\FournisseurBundle\Entity\Rubrique */ public function getRubrique() { return $this->rubrique; } } ?>

Je veux faire un formulaire dans lequel je vais renseigner une note dans un champ input à chaque rubrique de mon base de données.
Quelle est la démarche à suivre? Qu'est ce que je dois mettre dans le fichier EvaluationRubriqueType.php?

Aucune réponse