IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Doctrine2 PHP Discussion :

Comment créer un SELECT dynamiquement ?


Sujet :

Doctrine2 PHP

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 40
    Points
    40
    Par défaut Comment créer un SELECT dynamiquement ?
    Bonjour,

    Je souhaite créer un select option étant le résultat d'une requête

    Dans mon controller j'ai fait un createform et je souhaiterais accéder à une entityrepository dans lequel j'exécute cette requête mais j'ai cette erreur
    Call to undefined method
    à quoi cela peut être du ??
    mon ExtractionRepository
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    class ExtractionRepository extends EntityRepository
    {
     
        function executeQuery($id){
     
            $req = 'SELECT mon_champ from matable where id= :id' ;
            $query = $this->getEntityManager()->getConnection()->prepare($req);
     
            $query->bindValue('id', $id);	
     
            return $query->createQuery().
        }
    }
    mon form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
     
    class DataExtractionType extends AbstractType
    {
     
      public function buildForm(FormBuilderInterface $builder , array $options)
      { 
     
        $val = array();        
        $datas = $options['data'];  
     
        foreach ($datas as $i => $data)
        {
     
          foreach ($data->getExtractParams() as  $p => $params ) 
          {        
           $finalParams[$data->getId()][] = $params->getParamName();        
             foreach ($params->getExtractValuess() as $val)
             {
              $params->executeQuery($params->getParamQuery());
              }
          ......
    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    BWAAH ça m'fait mal à la tête !

    Je ne sais pas ce que tu essayes de faire mais ça n'a pas l'air très académique.

    Si je devais aller dans ton sens j'aurais tendance à dire que tu devrais commencer par dumper $params pour voir s'il s'agit bien d'une entityRepository (ce dont je doute fort).
    Si par contre je m'en tiens à ta première phrase, j'en déduis qu'à un moment tu dois utiliser une collection d'entities pour les passer à un widget par exemple.

    Dans ce cas la manière plus simple et plus propre de faire est celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    use Doctrine\ORM\EntityRepository;
    // ...
     
    $builder->add('users', 'entity', array(
        'class' => 'AcmeHelloBundle:User',
        'query_builder' => function(EntityRepository $er) {
            return $er->createQueryBuilder('u')
                ->orderBy('u.username', 'ASC');
        },
    ));
    Et là tu peux faire ta requête

    Have fun.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/08/2007, 14h17
  2. Réponses: 2
    Dernier message: 20/12/2006, 09h39
  3. [XSL] Comment créer un XPATH dynamique en XSL?
    Par oliviercuyp dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 13/12/2006, 16h14
  4. [DisplayTag] Comment créer un lien dynamique
    Par tscoops dans le forum Taglibs
    Réponses: 3
    Dernier message: 17/02/2005, 09h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo