Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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
ta variable $table correspond à une instance de ta classe model ?
Hors ligne
oui sorry en fait je fais d'abord:
$table = new Model_client();
Hors ligne
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
$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
ça ne marche pas Unrecognized function 'setIntegrityCheck'
Hors ligne
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
la première renvoit
id=2 name='socmoc'
la seconde renvoie
id=2 name='socmoc';
id=1 name='cimenc'
Hors ligne
Tu as d'autres données dans ta table ?
et le echo de ton select retourne quoi ?
Hors ligne
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
oui du coup il doit faire simplement un fetchAll(),
Est ce que tu peux mettre les erreurs générés ?
Hors ligne
$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
ç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!!!!!
Hors ligne
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