Zend 1.11.X Framework ¿Múltiples dónde?

¿Es posible usar Zend_Db_Select where / whereO de tal manera que pueda hacer:

$select->whereOr('field1 = ? field2 = ?', array($value1, $value2));
or
$select->whereOr('field1 = ? field2 = ?', $value1, $value2);

Esto sería mucho más fácil que tener que recordar escapar de las variables yo mismo.

preguntado el 08 de noviembre de 11 a las 18:11

2 Respuestas

Esto depende de la situación, como si tiene dos condiciones y cada una tiene un OR dentro.

me gusta:

WHERE (col = $someValue OR col = $otherValue) OR (col2 = $thirdValue AND col2 = $fourthValue)

Esos tendrían que hacerse manualmente. Me gusta hacerlo así:

$orWhere = array(
    "(col = {$someValue} OR col = {$otherValue})",
    "(col2 = {$thirdValue} AND col2 = {$fourthValue})"
);

$select->where(implode(' OR ', $orWhere));

Ese ha sido un buen trabajo útil para mí en esas situaciones debido a cómo se comporta Zend_Db_Select, encapsula cada where() y orWhere() entre paréntesis.

respondido 08 nov., 11:23

Puedes hacerlo:

$select->where('field1 = ?', $value1)->orWhere('field2 = ?', $value2);

respondido 08 nov., 11:23

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.