在我的
UserRepository
中,我想创建自定义查询,就像我不使用 MongoDB 时可以用$dm->createQuery('some query')
创建的查询一样。
我该怎么做?我看到$this->createQueryBuilder()
方法存在,但$this->createQuery()
不存在。
我也尝试过这个,因为它是有意义的,但没有奏效:
$this->createQueryBuilder('u')
->where(array('$or' => array(
array('u.username' => $username),
array('u.email' => $username)
)))
// ...
它说$or是一个无效的运算符。
在这里找到它: Doctrine2 Mongodb 添加更多$or运算符
/**
* Adds an "or" expression to the current query.
*
* You can create the expression using the expr() method:
*
* $qb = $this->createQueryBuilder('User');
* $qb
* ->addOr($qb->expr()->field('first_name')->equals('Kris'))
* ->addOr($qb->expr()->field('first_name')->equals('Chris'));
*
* @param array|QueryBuilder $expression
* @return Builder
*/
/**
* Adds an "and" expression to the current query.
*
* You can create the expression using the expr() method:
*
* $qb = $this->createQueryBuilder('User');
* $qb
* ->addAnd($qb->expr()->field('first_name')->equals('Kris'))
* ->addAnd($qb->expr()->field('first_name')->equals('Chris'));
*
* @param array|QueryBuilder $expression
* @return Query
*/