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 85
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 111
abstract static protected arraygetModelMapping()
Diese Methode muss im Modell definiert werden und die Felder und den Index definieren.
at line 121
IndexDocument
getIndexDocument()
IndexDokument der Klasse
at line 143
FilterDocument
getFilterDocument(ParameterMap $parameter)
Filter-Dokument
at line 156
protected FilterDocument
initFilterDocument(FilterDocument $filter, ParameterMap $parameter)
Filterdokument initialisieren
at line 177
SimpleMap
getMapping(boolean $reverse = true)
Zuweisungsmap Indexfelder, Modell-Feld
at line 199
Dataset
getDataset(Subset $result)
Dataset für Ausgabe erstellen
at line 233
Collection
initExecuteParameter(ParameterMap $parameter)
Parameter für den Presenter
at line 263
$this
initInstanceFromParameter(ParameterMap $parameter)
Instance erstellen
at line 306
static Moel
getInstanceFromParameter(ParameterMap $parameter)
Instanz durch Parameter erstellen
at line 317
protected string
getRelationMapping()
Mapping der Relationen
Diese Methode kann von abgeleiteten Modell überschrieben werden.
at line 330
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 359
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 370
ValidationReport
doValidationAndGetReport()
Überprüfung durchführen und Report zurückgeben