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