在QueryBuilder

时间:2017-03-07 10:07:51

标签: symfony query-builder

查询:

$gigTypeEntity = $query->select('u.id,u.fullName,u.usertype')
                       ->from('UserBundle:User', 'u')
                       //->where('u.usertype='.$usertype)
                       ->groupBy('u.id')
                       ->getQuery()
                       ->getResult();

响应如下: -

array(
    [id] => 1
    [fullName] => Tom
    [usertype] => Duo, Band
)

我想检查与$ usertype匹配的usertype(string)值。

例如: -

  

$ usertype =' Duo';

那么,我怎样才能使用$ usertype?

来搜索匹配数据

2 个答案:

答案 0 :(得分:0)

如果我是对的,你想执行where u.usertype = $userType查询。

您可以执行以下操作:

$gigTypeEntity = $query->select('u.id,u.fullName,u.usertype')
                       ->from('UserBundle:User', 'u')
                       ->where('u.usertype=:usertype')
                       ->groupBy('u.id')
                       ->setParameter('usertype', $usertype);
                       ->getQuery()
                       ->getResult();

如果假设错误,请纠正我。

答案 1 :(得分:0)

尝试使用LIKE子句:

$gigTypeEntity = $query->select('u.id,u.fullName,u.usertype')
                       ->from('UserBundle:User', 'u')
                       ->where('u.usertype LIKE \'%:type%\'')
                       ->setParameter('type', $usertype)
                       ->groupBy('u.id')
                       ->getQuery()
                       ->getResult();