2012-06-14 12 views
7

Quiero calcular la distancia en mi clase de repositorio personalizado. El problema es que la Doctrina lanza una excepción al procesar la función ACOS:Doctrine Query Builder La función de ACOS no se puede encontrar

[Syntax Error] line 0, col 70: Error: Expected known function, got 'ACOS' 

Ésta es la consulta:

public function findLocation($latitude, $longitude) 
{ 
    $em = $this->getEntityManager(); 
    return $em->createQueryBuilder() 
        ->select('((ACOS(SIN('.$latitude.' * PI()/180) * SIN(p.latitude * PI()/180) + COS('.$latitude.' * PI()/180) * COS(p.latitude * PI()/180) * COS(('.$longitude.' – p.longitude) * PI()/180)) * 180/PI()) * 60 * 1.1515) AS distance') 
        ->from('StrictPlaceBundle:Poi', 'p') 
        ->add('orderBy', 's.distance ASC') 
        ->getQuery()->getResult();  
} 

¿Qué puede estar mal?

Respuesta

Cuestiones relacionadas