如何忽略 Doctrine/Mongo QueryBuilder 搜索中的搜索字段



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

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

我可以进行精确的文本匹配,但是当有人在属性类型上选择"全部"时,我如何在上面的查询中解释?我的意思是,当有人选择"全部"时,我希望查询完全忽略"属性类型"字段并返回所有值。

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

有什么建议吗?

只需执行以下操作:

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

相关内容

  • 没有找到相关文章

最新更新