Zum Inhalt springen

Suche in 2 oder mehreren Tabellenfeldern

Erstellt am 18. Juli 2014 · 4 Antworten · letzte Antwort am 25. Juli 2014

Tags: Datenbank, TYPO3 6.x, Frage

cherry ·

Hallo,
ich habe eine Suche in einer Extension die auch funktioniert. Jedoch sucht diese nur in einem Feld. Nun möchte ich die Suche um 2 weitere Felder in den gesucht wird erweitern, komme aber dabei nicht weiter.

 $constraint = $query->logicalAnd(
                $query->logicalOr(
                        $query->like('street', $searchValue), $query->like('street', $searchValue . ',%'), $query->like('street', '%,' . $searchValue), $query->like('street', '%,' . $searchValue . ',%')
                ), $query->contains("usergroup", $usergroup)
        );

Was muss da geändert werden, das beispielsweise in den Feldern "name" und "ort" auch gesucht wird?

jenses ·

Für jedes weitere zu durchsuchende Feld duplizierst du alle $query->like() - Anweisungen und tauschst jeweils "street" gegen den gewünschten Feldbezeichner aus.

cherry ·

Wenn ich folgendes schreibe, wird die Seite ganz und gar nicht mehr angezeigt!

        $constraint = $query->logicalAnd(
                $query->logicalOr(
                        $query->like('keywords', $searchValue), $query->like('keywords', $searchValue . ',%'), $query->like('keywords', '%,' . $searchValue), $query->like('keywords', '%,' . $searchValue . ',%')
						$query->like('ort', $searchValue), $query->like('ort', $searchValue . ',%'), $query->like('ort', '%,' . $searchValue), $query->like('ort', '%,' . $searchValue . ',%')
                ), $query->contains("usergroup", $usergroup)
        );
jenses ·

Ein vernünftiger Editor wie PhpStorm würde dir solche dummen Syntaxfehler melden,
du mußt dich wohl auf deine eigenen Augen verlassen und das fehlende Komma entdecken.
Das sollte eigentlich nicht länger als 1 Sekunde dauern.

cherry ·

Danke, das Komma habe ich wirklich "verpasst". PhpStorm kannte ich nicht, aber jetzt schon ;-)