Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Salut à tous.
J'ai jamais trop réussi à me concentrer quand il s'agit de base de données et je voulais avoir vos expériences sur le "comment qu'on fait une requete un peu longue".
Alors pour faire simple voici ce que je veux faire comme type de requete:
SELECT * FROM table WHERE ( (champ1 = x OR champ1 = y) AND (champ2 = a OR champ1 = 2)
J'utilise Zend_Db_Table. J'ai vu qu'il est possible de faire des requêtes de la manière suivante:
$table = new MyTable(); $select = $table->select()->where()->whereOR()->join()... $table->fetchAll($select);
J'ai regardé vite fait comment faire sans trop avoir de réponse (et trop envie de chercher). Quelqu'un a-t-il une piste?
Hors ligne
J'ai déjà eu ce genre de cas.
Tu n'as apparemment pas de méthode direct possible pour faire la partie ("champ1 = x OR champ1 = y") comme tu l'as écrit.
sinon voilà pour ce que tu voulais :
$db = Zend_Registry::get('db'); $select = $db->select(); $select->from('table','*') ->where('champ1 = x OR champ1 = y') ->where('champ2 = a OR champ1 = 2'); echo $select; // renvoie SELECT `table`.* FROM `table` WHERE (champ1 = x OR champ1 = y) AND (champ2 = a OR champ1 = 2)
Dernière modification par Roulio (20-02-2008 16:42:12)
Hors ligne
Pages: 1