Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 06-05-2011 17:25:12

GyZmO
Nouveau membre
Date d'inscription: 29-07-2010
Messages: 4

[ZF 1.11] Requête imbriquée

Bonjour,

J'ai actuellement une requête qui me récupère tous les ordinateurs possédés par un joueur, ainsi que son OS et le boitier utilisé :

Code:

             $select = $this->select()
                       ->setIntegrityCheck(false)
                       ->from(array('o' => 'hl_ordinateurs'),
                               array('ordinateur_ID',
                                     'ordinateur_nom',
                                     'ordinateur_frontal',
                                     'ordinateur_temps_reboot',
                                     'ordinateur_on_off',
                                     'ordinateur_numero',
                                     'boitier_ID',
                                     'os_ID',
                                     'joueur_ID'
                               )
                       )
                       ->joinLeft(array('os' => 'hl_os'), 'o.os_ID = os.os_ID',
                               array('os_ID',
                                     'os_nom',
                                     'os_description',
                                     'os_image',
                                     'os_temps_install',
                                     'os_faille',
                                     'os_dev',
                                     'os_production',
                                     'os_stabilite',
                                     'os_go',
                                     'os_gh'
                               )
                      )
                      ->joinLeft(array('b' => 'hl_boitiers'), 'o.boitier_ID = b.boitier_ID',
                              array('boitier_nom',
                                    'boitier_description',
                                    'boitier_image',
                                    'boitier_prix_achat',
                                    'boitier_gw',
                                    'boitier_slot',
                                    'boitier_temps_evolution'
                              )
                      )
                      ->where('o.joueur_ID = ?', (int)$joueur);

Jusque là, pas de problème particulier, tout fonctionne. Seulement maintenant, je voudrais récupérer le nombre de composants actif pour chaque ordinateur, Pour cela, je suppose qu'il faut que je passe par une requête imbriquée, hors je n'ai aucune idée de comment l'inclure dans mon select :s !

Donc si quelqu'un a une solution je suis preneur !

Merci d'avance wink !

Hors ligne

 

#2 11-05-2011 11:38:06

_Fuse_
Membre
Lieu: Aquitaine
Date d'inscription: 10-07-2008
Messages: 92

Re: [ZF 1.11] Requête imbriquée

Bonjour,


Pour utiliser une requête imbriquée, il faut créer un deuxième objet "$select2" qui sera utilisé par "$select"

Code:

//requete1
$select = $this->select()
                       ->setIntegrityCheck(false)
                       ->from(...)
                       ->joinLeft(...)
                       ......
/requete2
$select2 = $this->select()
                       ->setIntegrityCheck(false)
                       ->from(...)
                       ->joinLeft(...)
                       ......           

//imbrication
$select->orwhere("xxxxx IN ($select2)");

à bientôt

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