Schnellsuche (Component/Search)

Die Schnellsuche kann genutzt werden um die Suchfelder einer Datenbanktabelle zu durchsuchen. Die Schnellsuche wird bspw. in der Datensatzliste genutzt.

Formular für Schnellsuche abrufen
use Brandbox\Framework\Component\Search; $identifier = '[Identifikator der Datenbanktabelle]'; $target = '[Identifikation für Events]'; $value = '[Sucheingabe des Anwenders]'; $element = $this ->staticController(Search\Manager::class) ->getSearchElement($identifier, $target, $value) ; // $element ist 'null' oder eine Instanz von \Brandbox\FrameworkStyleguide\FrameworkForm



QueryBuilder mit Schnellsuche befüllen
use Brandbox\Framework\Component\Search; $term = '[Sucheingabe des Anwenders]'; $collation = $this->getApplicationCollationId(); /** @var \Brandbox\Framework\Brandbox\Doctrine\Lib\Repository\QueryBuilder $builder */ $this ->staticController(Search\Manager::class) ->populate($term, $collation, $builder) ;

Suchvorschläge

Die Schnellsuche erweitert die Suchvorschläge (Suggestions) um eine Datensatzsuche. Es werden zusätzlich Events für die Suchvorschläge angeboten, um die durchsuchbaren Datenbanktabellen und Apps einzusammeln.

Eventübersicht

Klassenname

Beschreibung

Klassenname

Beschreibung

OnExecuteSearch

Wird nach der Eingabe eines Suchwertes ausgelöst und enthält unter anderem auch den benutzerdefinierten Identifikator. Die Schnellsuche speichert den eingegebenen Suchwert nicht selbst.

OnPopulateBuilder

Wird zum befüllen einer QueryBuilder-Instanz augerufen.

OnPopulateCondition

Wird pro Suchfeld (Eingabefeld) der betreffenden Datenbanktabelle ausgelöst.

OnPopulateMatchable

Sammelt alle Eigenschaften (Datenbankspalten) einer Datenbanktabelle ein, welche mit einem MATCH(...) AGAINST (...) anstelle von LIKE durchsucht werden können. Die Datenbankspalten müssen einen FULLTEXT-Index besitzen.

OnPopulateSearchable

Sammelt alle durchsuchbaren Eigenschaften (Datenbankspalten) einer Datenbanktabelle ein.

OnPopulateSuggestionEntities

Wird zum einsammeln der Datenbanktabellen für die Suchvorschläge verwendet. Die Klasse PopulateSuggestionEntitiesAbstract kann als Basis für eine Implementation genutzt werden.

OnPopulateSuggestionFilter

Wird zum einsammeln der Apps für die Suchvorschläge verwendet. Die Klasse PopulateSuggestionFilterAbstract kann als Basis für eine Implementation genutzt werden.

OnPopulateSuggestionResult

Wird bei einer Suche innerhalb der Suchvorschläge ausgelöst und durchsucht die zuvor gesammelten Datenbanktabellen und Apps nach passenden Datensätzen.