Tipps und Tricks Filter
Like Abfrage in doppelten Prozentzeichen
Eine "Like" Abfrage in doppelten Prozentzeichen eingeschlossen ist ein bisschen trickreich in Contao zu lösen. Will man dieses SQL Statement umsetzen:SELECT * FROM tl_xyz WHERE title LIKE %Suchbegriff%;
muss man wegen der automatischen Apostrophierung die Prozentzeichen mit in den Parameter verlagern:
$this->Database->prepare("SELECT * FROM tl_xyz WHERE title LIKE ?")
->execute('%Suchbegriff%');
bzw. mit Inhalt des Suchbegriffes in der Variable $varKeyword:
$this->Database->prepare("SELECT * FROM tl_xyz WHERE title LIKE ?")
->execute('%'.$varKeyword.'%');
Natürlich kann man hier auch das eine oder andere Prozentzeichen weglassen, wenn man in den Daten am Anfang oder Ende eines Datenfeldes suchen möchte.
