У меня есть форма с флажками для функций, которую я использую для фильтрации свойств с выбранными функциями. Если я установлю один флажок, он отобразит все свойства, имеющие эту функцию. Но если я установлю несколько флажков, никаких свойств не будет. Просто не могу понять почему.
Форма:
Код: Выделить всё
Код: Выделить всё
$keywords['feature'] = $this->request->query->get('feature') ?? array();
$properties->setCustomSearch($keywords);
Код: Выделить всё
public function finalizeQuery(QueryBuilder $query)
{
...
$features = $this->custom_search['feature'];
if (!empty($features)) {
$query->leftJoin('c', 'PropertiesFeatures', 'f', 'f.property_id = c.id');
foreach ($features as $feature) {
$query->andWhere('f.feature_id = ?')->setParameter($paramcount++, $feature);
}
}
return $query;
}
Код: Выделить всё
-sqlParts: array:10 [▼
"select" => array:1 [▼
0 => "c.id"
]
"distinct" => false
"from" => array:1 [▶]
"join" => array:1 [▼
"c" => array:2 [▼
0 => array:4 [▶]
1 => array:4 [▼
"joinType" => "left"
"joinTable" => "PropertiesFeatures"
"joinAlias" => "f"
"joinCondition" => "f.property_id = c.id"
]
]
]
"set" => []
"where" => Doctrine\DBAL\Query\Expression\CompositeExpression {#2110 ▼
-type: "AND"
-parts: array:4 [▼
0 => "c.created >= ?"
1 => "c.created
Подробнее здесь: [url]https://stackoverflow.com/questions/79793762/php8-4-doctrine-form-not-filtering-item-list-with-multiple-checkbox-inputs[/url]
Мобильная версия