我正在尝试这样做:
$em->createQueryBuilder('u')
->select('u')
->// where u.username doesnt contain the string "desactive"
另外,我读了the querybuilder documentation,我想知道是否应该使用Expr类。 但是,这个课程的目的对我来说非常模糊,只有这样的解释:
莫尔沃尔,是我还是根本没有解释它的一些方法呢? (我说的是伪函数对象和函数对象的部分)要解决add()方法可能导致的一些问题,Doctrine创建了一个类,可以将其视为构建表达式的帮助器。这个类叫做Expr,它提供了一组有用的方法来帮助构建表达式:
我完全错过了什么:(?
答案 0 :(得分:1)
我没有测试,但你可以使用'notLike'
根据doctrine query builder documentation
编辑:'%desactive%'到 qb-> expr() - > literal('%desactive%')
$qb = $this->getEntityManager()->createQueryBuilder();
return $qb->add('select','u')
->from('YOURBUNDLE:YOURENTITY','u')
->where($qb->expr()->notLike('u.username', qb->expr()->literal('%desactive%'))
->getQuery()->getResult();