Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/02/2011, 21:54
Avatar de Copia
Copia
 
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 4 meses
Puntos: 4
no puedo hacer un consulta DQL usuando multiples variables.

Hola comunidad, he estado practicando con Doctrine y de verdad es bastante bueno.
Hoy intente hacer un nuevo tipo de consulta, algo como para buscar en los registros de una tabla.

esta es la forma como tengo ahora la consulta:
Código PHP:
Ver original
  1. $q = Doctrine_Query::CREATE()
  2.             ->select($select)
  3.             ->from($from)
  4.             ->where("$camp1  LIKE %$incognita%  OR $camp2 LIKE %$incognita% OR $camp3 LIKE %$incognita%");

El manual dice que debo usar un ? despues de like, ademas no estoy seguro de que $select, $from se puedan colocar así nomas, pero lo puse porque estube probando inprimiendo $q->getSqlQuery() y entonces la consulta se crea hasta el punto de los LIKE donde tengo problemas.

dejo como hago la cadena $select y $from:
Código PHP:
Ver original
  1. $select = "$camp1 AS camp1, $camp2 AS camp2, $camp3 AS camp3, $camp5 AS camp5";
  2. $from = $ar['tabla']." t";

y tambien el resultado de $q->getSqlQuery();
Código PHP:
Ver original
  1. SELECT c.idcliente AS c__0, c.nombre AS c__1, c.apellido AS c__2, c.fotourl AS c__3 FROM cliente c WHERE (c.idcliente LIKE %lui% OR c.nombre LIKE %lui% OR c.apellido LIKE %lui%)

No cuando hago un fetcharray de $q me salen un monton de errores.
Código PHP:
Ver original
  1. Fatal error: Uncaught exception 'Doctrine_Connection_Pgsql_Exception' with message 'SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "%" LINE 1: ...rl AS c__3 FROM cliente c WHERE (c.idcliente LIKE %lui% OR c... ^. Failing Query: "SELECT c.idcliente AS c__0, c.nombre AS c__1, c.apellido AS c__2, c.fotourl AS c__3 FROM cliente c WHERE (c.idcliente LIKE %lui% OR c.nombre LIKE %lui% OR c.apellido LIKE %lui%)"' in /var/www/proyect/system/database/doctrine/Doctrine/Connection.php:1082 Stack trace: #0 /var/www/proyect/system/database/doctrine/Doctrine/Connection.php(1025): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Pgsql), 'SELECT c.idclie...') #1 /var/www/proyect/system/database/doctrine/Doctrine/Query/Abstract.php(976): Doctrine_Connection->execute('SELECT c.idclie...', Array) #2 /var/www/proyect/system/database/doctrine/Doctrine/Query/Abstract.php(1026): Doctrine_Query_Abstract->_execute(Array) #3 /var/www in /var/www/proyect/system/database/doctrine/Doctrine/Connection.php on line 1082
__________________
Dejando una huella de mi existencia por la red en http://tiricaya.com