Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/07/2014, 16:59
nelson_nnn
 
Fecha de Ingreso: octubre-2013
Mensajes: 35
Antigüedad: 11 años, 2 meses
Puntos: 0
Dudas con función de repositorio de entity para motor de busqueda

Buenas gente tengo una duda, quiero implementar un motor de busquedas en un sitio y estoy siguiendo el tutorial de jobeet para symfony2, el tema es que sigo los pasos pero no me está arrojando resultados, lo que pude advertir es que en la clase del JobRepository donde se aplica la busqueda de las pks en un índice del motor de busqueda no las está usando en la query del repositorio para buscar en la BD, lo que veo es que la variable $pks es un array de pks que luego entra en la query por "parameter" puede ser ese el problema ??? como se haría para pasar las pks y hacer la busqueda en base de datos de los avisos "jobs" en este caso

Código PHP:
Ver original
  1. class JobRepository extends EntityRepository
  2. {
  3. // ...
  4.      public function getForLuceneQuery($query)
  5.     {
  6.          $hits = Job::getLuceneIndex()->find($query);
  7.  
  8.          $pks = array();
  9.          foreach ($hits as $hit)
  10.          {
  11.                $pks[] = $hit->pk;
  12.           }
  13.  
  14.           if (empty($pks))
  15.          {
  16.                return array();
  17.           }
  18.  
  19.          $q = $this->createQueryBuilder('j')
  20.                          ->where('j.id IN (:pks)')
  21.                          ->setParameter('pks', $pks)
  22.                          ->andWhere('j.is_activated = :active')
  23.                          ->setParameter('active', 1)
  24.                          ->setMaxResults(20)
  25.                          ->getQuery();
  26.           return $q->getResult();
  27.     }
  28. }