Doctrine 2,Mongo DB,Query Builder - 如何为单个字段定义多个等于的值?

时间:2016-01-28 00:30:00

标签: php mongodb symfony doctrine-orm doctrine

参考文档:

http://doctrine-orm.readthedocs.org/projects/doctrine-mongodb-odm/en/latest/reference/query-builder-api.html#getting-single-result

我想为单个字段指定多个值,但无法弄清楚如何执行此操作?

以下是文档中的示例:

<?php

$user = $dm->createQueryBuilder('User')
    ->field('username')->equals('jwage')
    ->getQuery()
    ->getSingleResult();

我想把文件带到用户名&#39;不仅匹配&#39; jwage&#39;但也匹配其他用户名,例如&#39; tthumb&#39 ;.将数组或逗号分隔的字符串传递给equals似乎很直观,因为你可以使用select()但似乎都不起作用。也许我忽略了一些领域?

非常欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

您需要使用另一种方法:

$user = $dm->createQueryBuilder('User')
           ->field('username')->in(array('jwage', 'tthumb'))
           ->getQuery()
           ->getSingleResult();

但由于这是一个期望结果的查询,因此您必须确保此查询只返回一个结果。在其他情况下,它会给你一个错误。