如何创建一个 WHERE ..或..在 Symfony2 中使用 MongoDB 进行查询


在我的

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
 */

相关内容

  • 没有找到相关文章

最新更新