Subquery Doctrine Could not find class

I am trying to create a query like this one:

$q = Doctrine_Query::create()
        ->select('p.nombre')
        ->addSelect('(select count(*) from alojamiento a left join                      
                localidad l on a.localidad_id=l.id where p.id=l.provincia_id and        
                a.activo=true)')
        ->from('provincia p');

      

but it fails: error 500, class a could not be found.

AND:

$q = Doctrine_Query::create()
        ->select('nombre')
        ->addSelect('(select count(*) from alojamiento left join localidad on   
                alojamiento.localidad_id=localidad.id where                                     
                provincia.id=localidad.provincia_id and alojamiento.activo=true)')
        ->from('provincia');

      

results in: SQLSTATE [42S22]: Column not found: 1054 Unknown column "a.localidad_id" in clause "on".

Any help would be greatly appreciated!

+2


a source to share


1 answer


Assuming you have alojamiento.localidad relationship set up in your doctrine models, you can try this:



$q = Doctrine_Query::create()
             ->select('p.nombre')
             ->addSelect('(select count(*) from Alojamiento a 
                          left join a.Localidad l
                          where Provincia.id = Localidad.provincia_id 
                          and l.activo=true) as count')
             ->from('Provincia p');

      

0


a source







All Articles