2015-09-16 3 views
15

Env: Symfony2 2.7/Propel 1.6Propel forme type de modèle w. group_by est rendu sans affichage de la propriété

J'ai créé un type de formulaire de choix comme ça:

$builder->add('mychoice', 'model', array(
      'class' => 'Foo\\Bar', 
      'query' => FooBarQuery::create()->filterBySomething(true), 
      'group_by' => 'example', 
      'property' => 'title', 
      'multiple' => false, 
      'expanded' => false, 
     )); 

La liste rendu de choix est correct avec un bon optgroup sélectionner les options, mais la La propriété title n'est pas affichée - la propriété d'ID à la place. Si je supprime l'option group_by, la propriété title est bien affichée.

Qu'est-ce qui ne va pas?

Répondre

1

Est-ce que cela fonctionnerait?

$builder->add(
     'mychoice', 
     'entity', 
     array(    
      'class' => 'Foo\\Bar', 
      'choice_label' => 'title', 
      'multiple' => false, 
      'expanded' => false, 
     ) 
    ); 

Choisissez le type entity et ajouter une propriété choice_label et la propriété que vous souhaitez afficher.

+0

"entité" est seulement pour doctrine/"modèle" est l'équivalent pour propel http://propelorm.org/Propel/cookbook/symfony2/mastering-symfony2-forms-with-propel.html#the-modeltype – Lionel

+0

Bien là, il dit 'index_property' => 'slug'/** Si vous voulez utiliser une colonne unique spécifiée pour la clé pour ne pas exposer le PK ** /. Avez-vous essayé cela aussi? –

+0

comme il est dit, c'est pour la colonne clé> je cherche la bonne configuration pour l'affichage, pas la clé - BTW, ce bug se produit uniquement avec l'option "group_by", ça marche bien sinon – Lionel