0

検索に使用するMongoODMクエリがあり、フィールドの1つ(プロパティタイプ)に「All」値があり、検索で残りの値を無視する必要があります。

$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 に答える