Hola, estoy intentando hacer una consulta de este tipo en mi modelo que extiende de Zend_Db_Table_Abstract:
Código MySQL:
Ver originalWHERE id
=1 AND nombre
LIKE \
''.$nombre.
'\' AND (apellido1 LIKE \''.$apellido.
'\' OR apellido2 LIKE \''.$apellido.
'\')
El problema que tengo es al poner el paréntesis para que tenga prioridad el OR.
Según la documentacion he visto esto:
http://framework.zend.com/manual/1.1...db.select.html
Código PHP:
Ver original// Build this query:
// SELECT product_id, product_name, price
// FROM "products"
// WHERE (price < 100.00 OR price > 500.00)
// AND (product_name = 'Apple')
$minimumPrice = 100;
$maximumPrice = 500;
$prod = 'Apple';
$select = $db->select()
->from('products',
array('product_id', 'product_name', 'price')) ->where("price < $minimumPrice OR price > $maximumPrice")
->where('product_name = ?', $prod);
He intentado hacerlo de esta forma y me sale el siguiente error:
Column not found: 1054 Unknown column '$empresa' in 'where clause'
El código es este:
Código PHP:
public function todasreservas($dni, $nombre, $apellidos, $idreserva, $empresa) {
$empresa = $empresa;
$row = $this->fetchAll($this->select()->where('dni LIKE ?',$dni)->where('idreserva LIKE?',$idreserva)->where('parcelaidcamping LIKE $empresa OR bungalowidcamping LIKE $empresa OR idempresaactividad LIKE $empresa')->order(array('fechaentrada'))->order(array('dni')));
$rowArray = $row->toArray();
return $rowArray;