Ich habe ein Formular mit Kontrollkästchen für Features, die ich zum Filtern von Eigenschaften mit ausgewählten Features verwende. Wenn ich ein einzelnes Kontrollkästchen auswähle, werden alle Eigenschaften angezeigt, die über diese Funktion verfügen. Wenn ich jedoch mehrere Kontrollkästchen aktiviere, werden keine Eigenschaften angezeigt. Ich kann einfach nicht herausfinden, warum.
Formular:
Code: Select all
Code: Select all
$keywords['feature'] = $this->request->query->get('feature') ?? array();
$properties->setCustomSearch($keywords);
Code: Select all
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;
}
Code: Select all
-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
Mobile version