Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Petit problème avec un champ de mon formulaire :
[lang=php] $this->add(array( 'type' => 'DoctrineModule\Form\Element\ObjectSelect', 'name' => 'menu', 'options' => array( 'label' => 'Catégorie', 'empty_option' => 'Sélectionner', 'object_manager' => $em, 'target_class' => 'Application\Entity\Menu', 'property' => 'title', 'is_method' => true, 'find_method' => array( 'name' => 'findBy', 'params' => array( 'criteria' => array('menuId' => 1), ), ), ), ));
Voici mon entité
[lang=php] class News { /** * @var Menu * * @ORM\OneToOne(targetEntity="Application\Entity\Menu") * @ORM\JoinColumn(name="menu_id", referencedColumnName="id") * @return Menu */ protected $menu;
Alors lorsque j'ajoute une news ça marche, j'ai bien le menu id dans le champ menu_id de ma table news, par contre lorsque j'édite la news le champ catégorie est à placer à sélectionner.
Dans le controller, je fais ça :
[lang=php] $news = $newsService->getById($id); $form->bind($news);
Où est-ce ça plante ?
Merci
Hors ligne
Plop, peux-tu préciser un peu parce que j'ai pas vraiment compris ce que tu souhaitais faire.
Hors ligne
Ok je vais détailler un peu plus, désolé.
J'ai une entité news et un formulaire newsForm. Une news est rattaché à un menu d'où :
[lang=php] class News { /** * @var Menu * * @ORM\OneToOne(targetEntity="Application\Entity\Menu") * @ORM\JoinColumn(name="menu_id", referencedColumnName="id") * @return Menu */ protected $menu;
Dans mon formulaire j'ai un champ select qui permet de choisir le menu auquel il est rattaché. Je me sers de Doctrine pour ca :
[lang=php] $this->add(array( 'type' => 'DoctrineModule\Form\Element\ObjectSelect', 'name' => 'menu', 'options' => array( 'label' => 'Catégorie', 'empty_option' => 'Sélectionner', 'object_manager' => $em, 'target_class' => 'Application\Entity\Menu', 'property' => 'title', 'is_method' => true, 'find_method' => array( 'name' => 'findBy', 'params' => array( 'criteria' => array('menuId' => 1), ), ), ), ));
Ce code va remplir mon champ select avec les options menu <option value="2">société</option>
Dans ma table news j'ai un champ menu_id qui me permet de faire une jointure avec le menu.
Donc quand j'ajoute une news mon champ menu_id est bien rempli.
Le probleme =>
Mais quand je modifie une news le champ select ne selectionne pas par défaut l'option (menu) sélectionner lors de l'ajout de la news.
Voilà est-ce plus claire ?
Merci
Hors ligne
J'avais laissé de coté ce problème, en bidouillant j'avais réussi à trouver une parade.
Le problème ici :
https://github.com/doctrine/DoctrineModule/issues/122
Le problème est corrigé dans la branche dev, dans composer :
"doctrine/common": "2.4.*@dev",
"doctrine/orm": "2.4.*@dev",
Dernière modification par alien7 (22-04-2013 23:00:27)
Hors ligne
Super merci pour ce retour Alien7
Hors ligne