Нам нужны все активные записи, использующие «тег», который соответствует search
строке в createQueryBuilder
.
Например: поиск «NEW YORK», который внутренне ищет «NEW» или «YORK» вТеги "new, ab, other"
Мой КОД:
$query = $this->createQueryBuilder();
$query->field('status')->equals("active");
if (isset($params["search"]) && !empty($params["search"])) {
$searchArr = explode(" ", $params["search"]);
foreach ($searchArr as $searchVal) {
$query->addOr(
$query->expr()->addOr($query->expr()->field('tags')->equals(new \MongoRegex('/.*' . $searchVal . '.*/')))
);
}
}
Это даст результат active OR (tag1 Or tag2)
.Ожидаемый результат active AND (tag1 Or tag2)
Есть предложения?