PHP8.4 Doctrine-Formular filtert Elementliste nicht mit mehreren Kontrollkästchen-EingabenPhp

PHP-Programmierer chatten hier
Anonymous
 PHP8.4 Doctrine-Formular filtert Elementliste nicht mit mehreren Kontrollkästchen-Eingaben

Post by Anonymous »

Ich habe eine Tabelle mit Eigenschaften. Ich habe eine Tabelle mit Eigenschaftsmerkmalen. Diese beiden stehen in einer ManyToMany-Beziehung mit der resultierenden Tabelle PropertiesFeatures.
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









Verantwortlicher:

Code: Select all

$keywords['feature'] = $this->request->query->get('feature') ?? array();
$properties->setCustomSearch($keywords);
PropertyList-Klasse:

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;
}
Ausgabe von dd($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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post