Frank Seitz
and 1 contributors

NAME

Prty::Database::Row - Basisklasse Datensatz (abstrakt)

BASE CLASS

Prty::Object

DESCRIPTION

Ein Objekt der Klasse repräsentiert einen Datensatz.

METHODS

Miscellaneous

tableClass() - Liefere Namen der Tabellenklasse

Synopsis

    $tableClass = $this->tableClass;

Description

Ermittele den Namen der Tabellenklasse zur Datensatzklasse und liefere diesen zurück.

Returns

Name der Tabellenklasse (String)

Details

Eine Tabellenklasse speichert die Ergebnismenge einer Selektion.

Die bei einer Selektion verwendete Tabellenklasse hängt von der Datensatz-Klasse ab. Es gelten die Defaults:

  • Tabellenklasse bei Objekt-Datensätzen: Prty::Database::ResultSet::Object

  • Tabellenklasse bei Array-Datensätzen: Prty::Database::ResultSet::Array

Abweichend vom Default kann eine abgeleitete Datensatzklasse die Tabellenklasse über die Klassenvariable

    our $TableClass = '...';

festlegen.

Ferner ist es möglich, die Tabellenklasse bei der Selektion per Option festzulegen:

    $tab = $rowClass->select($db,
        -tableClass=>$tableClass,
    );

makeTable() - Erzeuge Datensatz-Tabelle

Synopsis

    $tab = $class->makeTable(\@titles,\@data);

Description

Erzeuge eine Datensatz-Tabelle mit Kolumnentiteln @titles und den Datensätzen @rows und liefere eine Referenz auf dieses Objekt zurück.

Example

Instanttierung über spezifische Datensatz-Klasse:

    $tab = Person->makeTable(
        [qw/per_id per_vorname per_nachname per_geburtsdatum/],
        qw/1 Rudi Ratlos 1971-04-23/,
        qw/2 Erika Mustermann 1955-03-16/,
        qw/3 Harry Hirsch 1948-07-22/,
        qw/3 Susi Sorglos 1992-10-23/,
    );

Instanttierung über anonyme Datensatz-Klasse:

    $tab = Prty::Database::Row::Object->makeTable(
        [qw/per_id per_vorname per_nachname per_geburtsdatum/],
        qw/1 Rudi Ratlos 1971-04-23/,
        qw/2 Erika Mustermann 1955-03-16/,
        qw/3 Harry Hirsch 1948-07-22/,
        qw/3 Susi Sorglos 1992-10-23/,
    );

VERSION

1.108

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2017 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.