0

我有一个用于搜索的 Mongo ODM 查询,其中一个字段(属性类型)具有“全部”值,因此搜索应忽略其余值。

$query = $dm->createQueryBuilder('SomeBundle:Listing')
     ->select('id', 'title','saleOrRent')
     ->field('residentialOrCommercial')->equals($residentialOrCommercial)
     ->field('propertyType')->equals($propertyType)
     ->getQuery();

我可以进行精确的文本匹配,但是当有人在 propertyType 上选择“全部”时,我如何在上面的查询中考虑?我的意思是当有人选择“全部”时,我希望查询完全忽略“propertyType”字段并带回所有值。

我知道我不是很清楚,但我正在努力做到。

有什么建议么?

4

1 回答 1

1

做就是了:

$qb = $dm->createQueryBuilder('SomeBundle:Listing')
     ->select('id', 'title','saleOrRent')
     ->field('residentialOrCommercial')->equals($residentialOrCommercial);

if ($propertyType != 'All') {
     $qb->field('propertyType')->equals($propertyType);
}

$query = $qb->getQuery();
于 2012-09-15T06:59:03.613 回答