Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je cherche a faire une requête pour rechercher des éléménts dans ma table.
Voici le genre de requete que je souhaite avoir :
SELECT `uid` FROM `table` WHERE `actif` = '1' AND (`col1` LIKE '%coucou%' OR `col2` LIKE '%tutu%' OR `col3` LIKE '%tata%') ORDER BY `nom` ASC;
Le soucis c'est que je ne vois pas comment le faire avec la méthode Select :
$monSelect = $this -> select() -> from ($this -> _name, "uid") -> where ("`actif` = '1'") -> where( ??? ) -> order ("nom")
C'est dans le 2eme where que ça bloque.
J'ai essayé avec un orWhere() mais ça ne donne pas ce que je veux
Merci pour vos réponses.
Cordialement,
Kaimite
Dernière modification par Kaimite (29-07-2008 16:50:59)
Hors ligne
test avec
->where(new Zend_Db_Expr("(`col1` LIKE '%coucou%' OR `col2` LIKE '%tutu%' OR `col3` LIKE '%tata%')")
Dès que tu met du "code sql" dans une clause utilsie Zend_Db_Expr
Hors ligne
Est-ce que vous avez un réel intérêt (héritage, par ex.) d'utiliser Zend_Db_Expr ? Je profite de ce post pour poser cette question qui me turlupine depuis pas mal de temps, étant donné que cette classe ne fais rien :
class Zend_Db_Expr { /** * Storage for the SQL expression. * * @var string */ protected $_expression; /** * Instantiate an expression, which is just a string stored as * an instance member variable. * * @param string $expression The string containing a SQL expression. */ public function __construct($expression) { $this->_expression = (string) $expression; } /** * @return string The string of the SQL expression stored in this object. */ public function __toString() { return $this->_expression; } }
Hors ligne