Entity/TagRepository.php
changeset 75 ca2a145e67f3
parent 74 901463f9b11c
equal deleted inserted replaced
74:901463f9b11c 75:ca2a145e67f3
    42      * @param string $seed
    42      * @param string $seed
    43      */
    43      */
    44     public function getCompletion($seed)
    44     public function getCompletion($seed)
    45     {
    45     {
    46         $qb = $this->getEntityManager()->createQueryBuilder();
    46         $qb = $this->getEntityManager()->createQueryBuilder();
    47         $qb->select('DISTINCT t.label');
    47         $qb->select('t.label', 'COUNT(dt.id) AS nb_docs');
    48         $qb->from('WikiTagBundle:Tag','t');
    48         $qb->from('WikiTagBundle:Tag','t');
       
    49         $qb->leftJoin('t.documents', 'dt', 'WITH', 't = dt.tag');
       
    50         $qb->addGroupBy('t.label');
    49         $qb->where($qb->expr()->orx(
    51         $qb->where($qb->expr()->orx(
    50             $qb->expr()->like('t.label',$qb->expr()->literal(addcslashes(mysql_real_escape_string($seed),"%_")."%")),
    52             $qb->expr()->like('t.label',$qb->expr()->literal(addcslashes(mysql_real_escape_string($seed),"%_")."%")),
    51             $qb->expr()->like('t.label',$qb->expr()->literal("%".addcslashes(mysql_real_escape_string($seed),"%_"))),
    53             $qb->expr()->like('t.label',$qb->expr()->literal("%".addcslashes(mysql_real_escape_string($seed),"%_"))),
    52             $qb->expr()->like('t.label',$qb->expr()->literal("% ".addcslashes(mysql_real_escape_string($seed),"%_")."%"))
    54             $qb->expr()->like('t.label',$qb->expr()->literal("% ".addcslashes(mysql_real_escape_string($seed),"%_")."%"))
    53         ));
    55         ));