2011-09-23 19 views
7

ho il seguente codice che visualizza tutte le pagine principali disponibili che possono essere utilizzati quando si aggiungono pagine secondarie nel mio progetto:come specificare quale valore viene passato tramite un campo di modulo scelta in Symfony2

 $builder->add('subtocontentid', 
      'entity', 
      array(
       'class'=>'Shout\AdminBundle\Entity\Content', 
       'property'=>'title', 
       'query_builder' => function (EntityRepository $repository) 
       { 
        return $repository->createQueryBuilder('s') 
          ->where('s.mainpage = ?1') 
          ->setParameter(1, '1') 
          ->add('orderBy', 's.created ASC'); 
       } 
     )); 

Nel forma, funziona bene. Visualizza il titolo corretto della pagina principale. Tuttavia, quando il modulo viene passato al database, l'ID della pagina viene passato al database. Questo non è il modo in cui voglio che funzioni, ma ho bisogno che passi una lumaca al database.

Capisco che il codice che sto utilizzando recupera tutti i campi nel database. Come posso selezionare solo il campo Titolo e il campo Slug e quindi nel modulo passare il campo Slug al database?

Acclamazioni

risposta

2

si dovrà cambiare il trasformatore usato da EntityType, e si mangia l'id viene passato al database è l'entità come il trasformatore prende l'id e guarda in alto l'entità nella sua lista. Quindi nel tuo caso sarebbe un'istanza di Shout\AdminBundle\Entity\Content

Problemi correlati