Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get results of "NOT LIKE" via doctrine2

I am trying to get the number of results where roles are not ROLE_ADMIN_USER. To do that I wrote following function in doctrine 2. But its not filtering the results. Any idea what it should be like?

public function getApprovedUserSearchNumber($searchQuery)
{
    return $this->getEntityManager()->createQueryBuilder('u')
        ->select('COUNT(u)')
        ->from('AppBundle:User', 'u')
        ->andwhere('u.username LIKE :query ')
        ->andwhere('u.roles !LIKE :role ')
        ->setParameter('query', '%' . $searchQuery . '%')
        ->setParameter('role','%ROLE_ADMIN_USER%')
        ->andwhere("u.adminApproved= 'Yes'")
        ->getQuery()
        ->getSingleScalarResult();
}
like image 992
Sujit Avatar asked Dec 05 '25 05:12

Sujit


1 Answers

you can use NOT LIKE

public function getApprovedUserSearchNumber($searchQuery)
    {
        return $this->getEntityManager()->createQueryBuilder('u')
            ->select('COUNT(u)')
            ->from('AppBundle:User', 'u')
            ->andwhere('u.username LIKE :query ')
            ->andwhere('u.roles NOT LIKE :role ')
            ->setParameter('query', '%' . $searchQuery . '%')
            ->setParameter('role','%ROLE_ADMIN_USER%')
            ->andwhere("u.adminApproved= 'Yes'")
            ->getQuery()
            ->getSingleScalarResult();
    }
like image 144
Vamsi Krishna B Avatar answered Dec 07 '25 19:12

Vamsi Krishna B