2017-03-07 12 views
0

查詢:檢索匹配的字符串數據的QueryBuilder

$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返回匹配數據?

+0

用'LIKE'子句嘗試:' - >其中( 'u.usertype LIKE \' %:類型%\ '') - >的setParameter( '類型', $ usertype)' – rokas

+1

@rokas發表此評論作爲答案;) – Veve

回答

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(); 

請糾正我,如果假設是錯誤的。

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();