Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-10-2010 17:34:17

sevy
Membre
Date d'inscription: 17-09-2010
Messages: 37

une requête qui ne marche pas bien...

Salut à tous! j'ai une requete qui est censée me rendre des éléments de mes deux tables. Le problème c'est que j'introduis une clause de tri de données "where" qui n'est pas prise en compte. quelqu'un a t-il une idée?

$select = $table->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
        $select->setIntegrityCheck(false)
               ->from($table,array('id','name'))
               ->where('t_clients_cstm.pmvendeur_c = ?', 'vendeur')             
               ->join('t_clients_cstm', 't_clients_cstm.id_c = t_clients.id'); 
        $row = $table->fetchAll($select);
        return $row;

en fait il me sort tous mes éléments sans tenir compte du "where". l'ai-je mal placé?qu'ai-je mal fais?yikes
à tous merci d'avance...

Hors ligne

 

#2 05-10-2010 20:38:24

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: une requête qui ne marche pas bien...

normalement on écrirait

Code:

$select = $table->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
        $select->setIntegrityCheck(false)
               ->from($table,array('id','name'))
               ->join('t_clients_cstm', 't_clients_cstm.id_c = t_clients.id')
               ->where('t_clients_cstm.pmvendeur_c = ?', 'vendeur');       
        $row = $table->fetchAll($select);
        return $row;

car le where ne peut s'appliquer à la requête

Code:

$select = $table->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
        $select->setIntegrityCheck(false)
               ->from($table,array('id','name'))
               ->where('t_clients_cstm.pmvendeur_c = ?', 'vendeur');

ça n'a pas de sens
mais je ne sais pas si ça a une influence sur ZF
A+JYT

Hors ligne

 

#3 06-10-2010 09:37:40

sevy
Membre
Date d'inscription: 17-09-2010
Messages: 37

Re: une requête qui ne marche pas bien...

salut et merci en fait je ne saisi pas ta solution si tu demande de placer le "where" après le "join" je l'ai fais mais rien...tu peux être plus clair stp?

Hors ligne

 

#4 06-10-2010 09:59:16

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: une requête qui ne marche pas bien...

non je te dis que je ne pense pas que ce soit ça le problème car ZF est sioux et il corrige nos petites erreurs

mais ce que tu faisais c'est le where sur un champs qui n'est pas dans la requête au moment ou tu le fait puis tu ajoute le join qui mets le champs

je disais donc que pour être propre et logique mieux vaut ajouter la table jointe avant de faire un where dessus


pour t'en sortir tu fais

Code:

echo $select->toString();

tu exécute
ça va t'afficher ta requête
tu la copie et la colle dans ton outil SQL
tu vas sûrement trouver ce qui ne vas pas dedans
il te restera à corriger ta requête Zend

A+JYT

Hors ligne

 

#5 06-10-2010 11:50:04

sevy
Membre
Date d'inscription: 17-09-2010
Messages: 37

Re: une requête qui ne marche pas bien...

SELECT id,name from t_clients as A,t_clients_cstm as B where A.id = B.id_c and B.pmvendeur='vendeur';

voilà ce que je veux faire et voilà ce que moi je fais

$select = $table->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
        $select->setIntegrityCheck(false)
               ->from($table,array('id','name'))             
               ->join('t_clients_cstm', 't_clients.id = t_clients_cstm.id_c','pmvendeur')
               ->where('t_clients_cstm.pmvendeur = ?','vendeur' );
$row = $table->fetchAll($select);
return $row;

et pour

echo -> $select->toString

voici l'erreur

Unrecognized method 'toString()'

Hors ligne

 

#6 06-10-2010 12:39:08

playmobilette
Membre
Date d'inscription: 05-10-2010
Messages: 50

Re: une requête qui ne marche pas bien...

et juste un echo $select tu donnes quoi ?

Hors ligne

 

#7 06-10-2010 12:53:01

sevy
Membre
Date d'inscription: 17-09-2010
Messages: 37

Re: une requête qui ne marche pas bien...

en fait echo $select ne me retourne rien...

Hors ligne

 

#8 06-10-2010 15:19:56

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: une requête qui ne marche pas bien...

sevy a écrit:

...

Code:

echo -> $select->toString

voici l'erreur

Unrecognized method 'toString()'

c'est .

Code:

echo  $select->__toString

et non .

Code:

echo -> $select->toString

http://framework.zend.com/apidoc/1.10/Z … __toString

A+JYT

Dernière modification par sekaijin (06-10-2010 15:20:35)

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