Auswahl eines Datensatzes in einer fremden Tabelle (Fremdschlüssel)
Die Datensatzauswahl ermöglicht es Datensätze einer beliebigen Tabelle zu durchsuchen und diese einfach oder mehrfach auszuwählen. Zudem können Datensätze bei Bedarf bearbeitet und angelegt werden.
Aufbau des Plugins
Alle Bestandteile sind im Plugin Input/ForeignKey
zu finden. Integriert werden kann diese Art des Eingabefeldes durch die Strukturmodellierung (Component/Modelling) und die Datenbankwidgets. Zudem zu beachten ist dass sich dieses Plugin in die Prozesse von Datensatz-Speicherung und Datensatz-Auslesen einklinkt und die zu speichernden oder zu lesenden Daten entsprechend transformiert.
Eine Property einer Entitiy, welche durch dieses Plugin verwaltet wird, enthält entweder einen Integer oder ein Integer-Array und muss auch mit den gleichen Datentypen befüllt werden.
Verwendung
Verwendung in der Strukturmodellierung (Component/Modelling)
Folgende Mindestkonfiguration muss als Feldkonfiguration hinterlegt werden:
{
"source": "Input/ForeignKey.[single|multiple|editable]",
"ForeignKeyCriteria": [Zusätzliche Suchkriterien],
"relation": {
"repository": "[Tabellenidentifikator]",
"column": "[Spaltenidentifikator]",
"datapool": "[Datenpoolidentifikator]"
}
}
Verwendung bei einem Feld des Datenbankwidgets
Folgende Mindestkonfiguration muss in der widget.json bei einer Spalte hinterlegt sein:
{
// [...],
"formType": "Select",
"source": "Input/ForeignKey.[single|multiple|editable]",
"configuration": {
// [...],
"ForeignKeyCriteria": [Zusätzliche Suchkriterien]
"relation": {
"repository": "[Tabellenidentifikator]",
"column": "[Spaltenidentifikator]",
"datapool": "[Datenpoolidentifikator]"
}
}
// [...]
}
Konfiguration
Parametererklärung
Bezeichnung | Mögliche Werte | Beschreibung |
---|---|---|
| Input/ForeignKey.single Input/ForeignKey.multiple Input/ForeignKey.editable | Legt den Source-Aufruf für brandbox fest. Der Funktionsumfang der einzelnen Möglichkeiten ist weiter unten beschrieben. |
| Ein oder mehrere Einträge. Schlüssel des Eintrags entspricht einem eindeutigen Feldidentifikator und der Wert einem erwarten Wert im angegebenen Feld. Der Platzhalter | Legt ein oder mehrere zusätzliche Suchkriterien für mögliche Datensätze fest. Gemeinsam mit einem durch den Benutzer definierten Suchfilter werden alle Kriterien mit einer UND-Verknüpfung verbunden und damit die entsprechende Datenbanktabelle durchsucht. |
| Eindeutiger Identifikator einer Datentabelle | Aus der hier angegebenen Tabelle werden die auswählbaren Datensätze ausgelesen. |
| Eindeutiger Identifikator eines Feldes | Werden auswählbare Datensätze zur Auswahl präsentiert oder durchsucht wird dieses Feld genutzt. Diese Option kann ab brandbox 5.6 ausgelassen werden. In diesem Fall werden die Ergebnisspalten zur Anzeige und die Suchfelder für die Suche der Datensätze genutzt. |
| Eindeutiger Identifikator eines Datenpools | Diese Eigenschaft ist gilt ausschließlich für Tabellen welche über die Tabellenstrukturen definiert wurden. Hier muss ein entsprechender Identifikator hinterlegt werden. |
| Boolischer Wert ( | Wenn diese Option auf |
| Boolischer Wert ( | Wenn diese Option auf |
| Boolischer Wert ( | Wenn diese Option auf |
Funktionsumfänge
Wert in | Beschreibung |
---|---|
Input/ForeignKey.single | Einfaches Auswahlfeld ohne erweiterte Funktionen |
Input/ForeignKey.multiple | Feld mit Mehrfachauswahl von einem oder mehreren Datensätzen. Keine Bearbeiten- und Anlegen-Funktion. |
Input/ForeignKey.editable | Einfach-Auswahlfeld für einen Datensatz mit Buttons für die Bearbeitung und das Anlegen eines neuen Datensatzes. |
Events
Klassenname | Beschreibung |
---|---|
| Über dieses Event kann der QueryBuilder für die Datensatzsuche beeinflusst werden. |
| Standardmäßig wird das Repository aus dem Identifikator der Konfiguration ermittelt. Über dieses Event kann in die Suche nach dem Repository eingegriffen werden. |