Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-03-2013 17:25:44

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Doctrine champ select n'est pas bindé

Bonjour,

Petit problème avec un champ de mon formulaire :

Code:

[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é

Code:

[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 :

Code:

[lang=php]
        $news = $newsService->getById($id);
        $form->bind($news);

Où est-ce ça plante ?

Merci


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#2 25-03-2013 18:11:31

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Doctrine champ select n'est pas bindé

Plop, peux-tu préciser un peu parce que j'ai pas vraiment compris ce que tu souhaitais faire.

Hors ligne

 

#3 27-03-2013 11:16:38

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Doctrine champ select n'est pas bindé

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ù :

Code:

[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 :

Code:

[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 smile


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#4 22-04-2013 22:36:37

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Doctrine champ select n'est pas bindé

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)


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#5 23-04-2013 09:30:26

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Doctrine champ select n'est pas bindé

Super merci pour ce retour Alien7 smile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages