Foros del Web » Programando para Internet » PHP » Symfony »

Consulta Doctrine

Estas en el tema de Consulta Doctrine en el foro de Symfony en Foros del Web. Hola tengo la siguiente consulta doctrine $this->usuario_proyectos = Doctrine_Query::create() ->from('UsuarioProyecto u') ->leftJoin('u.Proyecto p') ->where('u.user_id=?', $prueba) ->andWhere('p.idEstado<>?', 3) ->andWhere('u.idProyecto IN (SELECT p.id FROM Proyecto WHERE p.nombre ...
  #1 (permalink)  
Antiguo 10/05/2011, 06:35
 
Fecha de Ingreso: agosto-2008
Mensajes: 88
Antigüedad: 16 años, 4 meses
Puntos: 0
Consulta Doctrine

Hola tengo la siguiente consulta doctrine
$this->usuario_proyectos = Doctrine_Query::create()
->from('UsuarioProyecto u')
->leftJoin('u.Proyecto p')
->where('u.user_id=?', $prueba)
->andWhere('p.idEstado<>?', 3)
->andWhere('u.idProyecto IN (SELECT p.id FROM Proyecto WHERE p.nombre LIKE ?)', '%' . $buscar . '%')
->execute();
Pero yo quiero agregar en el select que esta entre parentesis un or que busque por otro campo. O sea quiero hacer algo asi
->andWhere('u.idProyecto IN (SELECT p.id FROM Proyecto WHERE p.nombre or p.codigoidentificador LIKE ?)', '%' . $buscar . '%')
Pero haciendolo asi no funciona, queria saber como se puede hacer para que dentro de ese select busque con un or por 2 campos
  #2 (permalink)  
Antiguo 10/05/2011, 08:28
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Consulta Doctrine

revisa bien la sintaxis porque:

u.idProyecto IN (SELECT p.id FROM Proyecto WHERE p.nombre LIKE ?

estas haciendo referencia a "p" que está fuera de la subconsulta cuando deberías asignarle un alias distinto a "Proyecto" dentro de la subconsulta, porque no lo tiene

('u.idProyecto IN (SELECT p.id FROM Proyecto WHERE p.nombre or p.codigoidentificador LIKE ?)

p.nombre contra que se compara?????
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: doctrine, frameworks-y-php-orientado-a-objetos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:45.