-->

我怎么可以把条件学说查询生成器(How can i put condition in doctrin

2019-09-21 05:42发布

我有这个疑问

$qb->select('u')
           ->from('UserBundle:User', 'u')
           ->where('u.location = :identifier')
           ->orderBy('u.firstName', 'ASC')
           ->setParameter('identifier', 2);

我想,如果$标识符存在,那么它应该否则过滤结果我得到的所有结果类似

$qb->select('u')
               ->from('UserBundle:User', 'u')
                       if($identifier)             
                       ->where('u.location = :identifier')
               ->orderBy('u.firstName', 'ASC')
                       if($identifier) 
               ->setParameter('identifier', 2);

可能吗

Answer 1:

这是可能的,你只需要调整你的代码。

$qb->select('u')
           ->from('UserBundle:User', 'u')
           ->orderBy('u.firstName', 'ASC');
if($identifier) {
        $qb->where('u.location = :identifier')
           ->setParameter('identifier', 2);
}


文章来源: How can i put condition in doctrine query builder