Liebe Extbase-Checker,
ich will im Repository eine Suchanfrage verarbeiten, über mehrere Felder und Tabellen.
die Tabellen:
-
Termine
-
Lehrgänge
-
Keywords (mm, wird zugeordnet von der Lehrgangstabelle aus)
-
-
ich durchsuche mehrere Felder in Lehrgänge, und dann die Keywords, die als mm-Relation dabei sind.
An sich klappt die Suche.
Ausser bei Lehrgängen die kein einziges Keyword haben. Die werden dann einfach nicht gefunden.
Es gibt eine Besonderheit in der Datenbank: ich habe in Lehrgänge das Feld rausgenommen, das die Keywords zählt (wir importieren die Lehrgänge regelmäßig aus einem anderen System nach TYPO3)
kennt jemand dieses Problem, und weiß evtl. ob das schon gelöst ist und ab welcher TYPO3-Version (wir haben 4.7) oder einen Workaround?
habe verschiedenes probiert, es klappt aber nicht:
foreach ($propertiesToSearch as $propertyName) {
$searchWordConstraints[] = $query->like($propertyName, '%' . $mySearchWord . '%');
}
$constraints[] = $query->logicalAnd(
$query->logicalOr(
$searchWordConstraints
//,$query->like('relLga.keywords.keyword', '%' . $mySearchWord . '%')
//auch lehrgänge ohne keywords werden durchsucht
//,$query->contains('relLga.keywords', $mySearchWord )
,$query->contains('relLga.keywords.keyword', '' )
)
);