Bonjour, quelqu'un peu m'aider :
J'ai deux tables
table1: id -> clé primaire
table2: id_app -> clé étrangère (vers id de la table1)
Relation entre les 2 tables (Doctrine) :
Table1.php :
Table2.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 /** * @ORM\ManyToMany(targetEntity="Table2", mappedBy="table1") */ private $suisseapptext; public function __construct() { $this->suisseapptext = new \Doctrine\Common\Collections\ArrayCollection(); }
1. Lorsque je lance la page : qui appelle à la Table1 la liste déroulante (id_app) n'affiche rien 2. et lorsque je lance la page qui fait appelle a Table2 pour un nouveau formulaire j'ai l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 /** * @ORM\ManyToOne(targetEntity="Table1") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="id_app", referencedColumnName="id") * }) */ private $idApp; public function __construct() { $this->suisseapp = new \Doctrine\Common\Collections\ArrayCollection(); }
la solution : faudrait ajouter une fonction :Entity "xxxx\xxxxxxx\Entity\Table1" passed to the choice field must have a "__toString()" method defined (or you can also override the "property" option).
Mais je n'arrive pas a comprendre la valeur de toto et dans quelle entité (Table1.php ou Table2.php) foudrait il ajouter la fonction??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public function __toString() { return $this->toto; }
Merci d'avance
Partager