Prty::Database::Row::Object::Table - Datensatz einer Tabelle
Prty::Database::Row::Object
Prty::ClassConfig
Ein Objekt der Klasse repräsentiert einen Datensatz, der aus einer einzelnen Datenbank-Tabelle stammt.
Die DML-Operationen (select, insert, update, delete) der Klasse operieren auf der Tabelle. Entsprechend definiert die Klasse einen Tabellennamen. Dieser wird von der Methode tableName() geliefert.
Über eine Tabelle wird vorausgesetzt, dass diese eine Primärschlüssel-Kolumne besitzt. Deren Name wird von der Methode primaryKey() geliefert.
$tableName = $this->tableName;
table()
Tabellenname (String)
Bestimme den Namen der Datenbanktabelle, welche die Klasse kapselt, und liefere diesen zurück.
Tabellenname wird aus Klassenname abgeleitet:
Adb::Table::Person => person Adb::Person => person Person => person
Tabellenname per Klassenvariable definieren:
our $TableName = 'adb.person';
Der Tabellenname ist per Default die in Kleinschreibung gewandelte letzte Komponente des Klassennamens.
Abweichend vom Default kann die Datensatzklasse den Tabellennamen über die Klassenvariable
our $TableName = '...';
festlegen.
Die Methode kann in abgeleiteten Klassen überschrieben werden, um den Tabellennamen auf andere Weise zu bestimmen, z.B. um einen Schemapräfix aus einer weiteren Klassennamen-Komponente hinzuzufügen.
$title = $this->primaryKey($db);
Bestimme den Namen der Primärschlüsselkolumne und liefere diesen zurück. Der Name wird folgendermaßen ermittelt:
...
Ist 1. nicht der Fall, wird als Primärschlüsselkolumne die erste Kolumne der Ergebnistabelle angenommen.
@where = $row->primaryKeyWhere($db);
Liefere die WHERE-Bedingung ($key=>$value) für den Datensatz $row, bestehend aus dem Namen der Primärschlüsselkolumne und deren Wert. Hat die Primärschlüsselkolumne keinen Wert, wirf eine Exception.
Die Methode liefert die WHERE-Bedingung für UPDATEs und DELETEs auf dem Datensatz.
$row = $class->nullRow($db);
$stmt = $class->selectStmt($db,@select);
$stmt = $row->insertStmt($db);
$stmt = $row->updateStmt($db);
$stmt = $row->deleteStmt($db);
$row = $class->load($db,$pkValue);
Lade Datensatz mit Primärschlüssel $pkValue. Ist $pkValue nicht angegeben oder Null (Leerstring oder undef), liefere einen leeren Datensatz.
Diese Methode ist nützlich, um ein Formular mit einem neuen oder existierenden Datensatz zu versorgen.
$cur = $row->insert($db);
Füge den Datensatz zur Datenbank hinzu und liefere das Resultat der Ausführung zurück.
Nach der Ausführung hat der Datensatz den Rowstatus 0.
$cur = $row->update($db);
Aktualisiere den Datensatz auf der Datenbank und liefere das Resultat der Ausführung zurück.
$cur = $row->delete($db);
Lösche den Datensatz von der Datenbank und liefere das Resultat der Ausführung zurück.
Nach der Ausführung hat der Datensatz den Rowstatus 'I'.
1.088
Frank Seitz, http://fseitz.de/
Copyright (C) 2016 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Prty, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Prty
CPAN shell
perl -MCPAN -e shell install Prty
For more information on module installation, please visit the detailed CPAN module installation guide.