DataImplementation
trait DataImplementation
Die DataImplementation stellt eine Standard-Implementierung der Model-Schnittstelle für ein Modell, dass mit den Data-Presenter zusammenarbeitet bereit.
Das eigene Modell muss dabei nur dieses Trait per use Statement einbinden und über die Methode getModelMapping() den Zugriff definieren.
protected function getModelMapping() {
return [
// Feld, Index-Feld, Pflichtangabe, Name des Feldes (SQL), Vorgabewert (Default)
['fieldname', 'indexer-fielname', true, \Alvine\Persistence\Relation\Field\Varchar::class, 'myName'],
['name', 'string_myname'],
['description', 'string_description'],
['uuid', 'sys_id']
];
}
// Einbinden der Implementierung
use \Alvine\Application\Web\Model\DataImplementation;
Diese Implementierung kann auch Relationen zwischen Objekten abbilden. Dazu muss die Methode getRelationMapping() überschrieben werden und ein Array mit den Relationen liefern.
public function getRelationMapping() {
return [
// Feldname, Klasse des Beziehungsobjektes Klasse des Objektes
['groups','\Alvine\Service\Subversion\Model\MyMembership','\Alvine\Service\Subversion\Model\MyGroup']
];
}
Properties
protected Collection | $volatileModelMappedByImplementation |
Methods
ModelMapping initialisieren
Diese Methode muss im Modell definiert werden und die Felder und den Index definieren.
IndexDokument der Klasse
Filter-Dokument
Filterdokument initialisieren
Zuweisungsmap Indexfelder, Modell-Feld
Dataset für Ausgabe erstellen
Parameter für den Presenter
Instance erstellen
Instanz durch Parameter erstellen
Mapping der Relationen
Relationen des Objektes
Mapping für die Überprüfung
Überprüfung durchführen und Report zurückgeben
Details
at line 83
protected type
initModelMapping()
ModelMapping initialisieren
Das Model muss die Methode Model::getModelMapping() implementiert haben und ein Array mit den Werten Feld, Index-Feld (in Datenbank), Pflichtangabe, Feldklasse, Defaultwert oder Null zurück
at line 109
abstract static protected arraygetModelMapping()
Diese Methode muss im Modell definiert werden und die Felder und den Index definieren.
at line 119
IndexDocument
getIndexDocument()
IndexDokument der Klasse
at line 141
FilterDocument
getFilterDocument(ParameterMap $parameter)
Filter-Dokument
at line 154
protected FilterDocument
initFilterDocument(FilterDocument $filter, ParameterMap $parameter)
Filterdokument initialisieren
at line 175
SimpleMap
getMapping(boolean $reverse = true)
Zuweisungsmap Indexfelder, Modell-Feld
at line 197
Dataset
getDataset(Subset $result)
Dataset für Ausgabe erstellen
at line 231
Collection
initExecuteParameter(ParameterMap $parameter)
Parameter für den Presenter
at line 261
$this
initInstanceFromParameter(ParameterMap $parameter)
Instance erstellen
at line 304
static Moel
getInstanceFromParameter(ParameterMap $parameter)
Instanz durch Parameter erstellen
at line 315
protected string
getRelationMapping()
Mapping der Relationen
Diese Methode kann von abgeleiteten Modell überschrieben werden.
at line 328
Linkage>
getRelationDefinition()
Relationen des Objektes
Unterstützt das Modell Relationen, so muss diese Methode getRelationMapping() überschrieben werden und die gewünschten Relationen liefern. Diese Methode erstellt daraus die ObjectMap
at line 357
protected arraygetValidationMapping()
Mapping für die Überprüfung
Diese Methode sollte von der Modell-Klasse implementiert werden.
return [
['number', 'Bitte geben Sie Ihre 10stellige Nummer ein.', 'error', '\Alvine\Util\Constraint\Length', '10']
];
at line 368
ValidationReport
doValidationAndGetReport()
Überprüfung durchführen und Report zurückgeben