[RAILS] Implementieren Sie die Suchfunktion mithilfe der LIKE-Klausel

Bei der Suche nach in der Datenbank gespeicherten Daten und deren Anzeige in HTML werden diese grundsätzlich mithilfe einer sogenannten "LIKE-Klausel" implementiert.

Verwendung der LIKE-Klausel

Modellklassenname.where('Spaltenname für die Suche nach LIKE(?)', "Zu suchende Schlüsselwörter")

Damit kann jedoch nur die perfekte Übereinstimmung in den Suchergebnissen angezeigt werden. (Wenn Sie beispielsweise bei Google nach "Baseball" suchen, werden einige, die nicht genau übereinstimmen (Baseballfeld, professioneller Baseball usw.), in den Suchergebnissen angezeigt.

Wenn Sie eine solche Einstellung vornehmen möchten, Wenn Sie die LIKE-Klausel angeben, indem Sie% vor und nach dem zu durchsuchenden Schlüsselwort setzen, wird das in der Zeichenfolge enthaltene Schlüsselwort getroffen.

Product.where('title LIKE(?)', "%#{params[:keyword]}%")

Im Fall von ↑ können Sie nach Daten suchen, die Schlüsselwörter im Titel enthalten.

Darüber hinaus gibt es andere Möglichkeiten, Daten zu suchen.

where('title LIKE(?)', "a%")
#↑ Suchen Sie nach Titeln, die mit a beginnen
where('title LIKE(?)', "%b")
#↑ Suche nach Titeln beginnend mit b
where('title LIKE(?)', "%c%")	
#↑ Suche nach Titeln beginnend mit c

Recommended Posts

Implementieren Sie die Suchfunktion mithilfe der LIKE-Klausel
Implementieren Sie Benutzerverwaltungsfunktionen mit Devise
Implementieren Sie die Teilübereinstimmungssuchfunktion ohne Ransuck
[Schienen] Implementieren Sie die Benutzersuchfunktion
Suchfunktion mit [Rails] Ransack
Implementieren Sie die Kategoriefunktion mithilfe von Vorfahren