de Possible en double:
Grouping WHERE clauses with Zend_Db_Table_AbstractMultiple/imbriqué "sélectionnez l'emplacement où" avec Zend_Db_Select
Je dois créer quelque chose comme ceci:
select name from table where active = 1 AND (name LIKE 'bla' OR description LIKE 'bla')
La première partie est facile :
$sqlcmd = $db->select()
->from("table", "name")
->where("active = ?", 1)
Maintenant vient la partie délicate. Comment puis-je nicher? Je sais que je peux simplement écrire
->orWhere("name LIKE ? OR description LIKE ?", "bla")
Mais ce n'est wron, parce que je dois changer de façon dynamique toutes les parties. La requête sera construite tout le temps que le script s'exécute. Certaines parties sont supprimées, d'autres modifiées. Dans cet exemple, j'ai besoin d'ajouter ces OR-s parce que parfois je dois chercher plus large. « Ma logique Zend » me dit qui est comme la bonne façon suivante:
$sqlcmd = $db->select()
->from("table", "name")
->where("active = ?", 1)
->where(array(
$db->select->where("name LIKE ?", "bla"),
$db->select->orWhere("description LIKE ?", "bla")
))
Mais cela ne fonctionne pas (moins je ne me rappelle pas fonctionner).
Veuillez. Quelqu'un peut-il me aider à trouver un objet chemin orienté pour la nidification « où » -s
J'ai eu le même problème. Voir la réponse à ma question ici: http://stackoverflow.com/questions/1179279/grouping-where-clauses-with-zend-db-table-abstract – Mark