Die Schnellsuche kann genutzt werden um die Suchfelder einer Datenbanktabelle zu durchsuchen. Die Schnellsuche wird bspw. in der Datensatzliste genutzt.
Codeblock |
---|
language | php |
---|
theme | RDark |
---|
title | Formular für Schnellsuche abrufen |
---|
collapse | true |
---|
|
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 |
Codeblock |
---|
language | php |
---|
theme | RDark |
---|
title | QueryBuilder mit Schnellsuche befüllen |
---|
collapse | true |
---|
|
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 |
---|
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. |