Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 06-10-2010 11:53:16

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

qu'est-ce que je fais mal..... (RESOLU)

salut à tous!  j'ai ce problème depuis et là....je cogne alors:

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;

cependant la première requête me retourne un seul élément normal mais la seconde m'en retourne deux pas bon du tout alors quelqu'un a une idée?

Dernière modification par sevy (07-10-2010 11:04:08)

Hors ligne

 

#2 06-10-2010 12:16:47

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

Re: qu'est-ce que je fais mal..... (RESOLU)

ta variable $table correspond à une instance de ta classe model ?

Hors ligne

 

#3 06-10-2010 12:28:23

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

Re: qu'est-ce que je fais mal..... (RESOLU)

oui sorry en fait je fais d'abord:

$table = new Model_client();

Hors ligne

 

#4 06-10-2010 12:33:38

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

Re: qu'est-ce que je fais mal..... (RESOLU)

Je ne vois pas comment tu arrives a faire une jointure si tu utilises la méthode fetchAll de modèle, tu n'a pas de message d'erreur ?

Essaye de faire un

Code:

$db = $table->getDefaultAdapter();
$select = $db->select(Zend_Db_Table::SELECT_WITH_FROM_PART)
                ->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' );
$rows = $db->fetchAll($select);
return $rows;

Dernière modification par playmobilette (06-10-2010 12:33:52)

Hors ligne

 

#5 06-10-2010 12:47:41

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

Re: qu'est-ce que je fais mal..... (RESOLU)

ça ne marche pas Unrecognized function 'setIntegrityCheck'

Hors ligne

 

#6 06-10-2010 12:57:31

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

Re: qu'est-ce que je fais mal..... (RESOLU)

et si tu supprimes la ligne ->setIntegrityCheck(false) ?

Est ce que tu peux mettres les données de la table, les résultats de la 1ere et 2ème requête ?

Hors ligne

 

#7 06-10-2010 13:10:02

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

Re: qu'est-ce que je fais mal..... (RESOLU)

la première renvoit

id=2 name='socmoc'

la seconde renvoie

id=2 name='socmoc';
id=1 name='cimenc'

Hors ligne

 

#8 06-10-2010 13:56:46

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

Re: qu'est-ce que je fais mal..... (RESOLU)

Tu as d'autres données dans ta table ?

et le echo de ton select retourne quoi ?

Hors ligne

 

#9 06-10-2010 15:19:06

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

Re: qu'est-ce que je fais mal..... (RESOLU)

en fait en faisant echo $select en enlevant setIntegrity il génère des erreurs énormes.Malheureusement je n'ai pas d'autre données ce qui me fait penser que tout est ramené...

Hors ligne

 

#10 06-10-2010 15:28:21

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

Re: qu'est-ce que je fais mal..... (RESOLU)

oui du coup il doit faire simplement un fetchAll(),

Est ce que tu peux mettre les erreurs générés ?

Hors ligne

 

#11 06-10-2010 16:13:59

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

Re: qu'est-ce que je fais mal..... (RESOLU)

Code:

$db = $table->getDefaultAdapter();
$select = $db->select()
               ->from(t_clients,array('id','name'))             
               ->join('t_clients_cstm', 't_clients.id = t_clients_cstm.id_c','pmvendeur')
               ->where('t_clients_cstm.pmvendeur = ?','vendeur' );
$rows = $db->fetchAll($select);
echo $select ;
return $rows;

Hors ligne

 

#12 07-10-2010 10:27:50

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

Re: qu'est-ce que je fais mal..... (RESOLU)

ça y est ça marche!!!!!!Merci à toi playmobilette hier, un peu souffrant je suis rentré!donc cematin j'ai testé ton dernier code et oui il est bon. En fait tu as inscris en dur le nom de la table 't_clients' dans la requête je crois que c'est tout ce que tu as changé! je me trompe? :-/ sinon si tu peux m'expliquer j'en serai fier mais ENCORE MERCI!!!!! smile

Hors ligne

 

#13 07-10-2010 11:29:47

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

Re: qu'est-ce que je fais mal..... (RESOLU)

Oui j'ai vu dans ton autre post qu'il n'arrivait pas a transformer un model en string ce qui est logique,

si tu veux tu peux remplacer le ->from('t_clients' en ->from($this->_name

Bonne journée

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