NAME

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

BASE CLASS

Quiq::Object

DESCRIPTION

Ein Objekt der Klasse repräsentiert einen Datensatz.

METHODS

Miscellaneous

tableClass() - Liefere Namen der Tabellenklasse

Synopsis

$tableClass = $this->tableClass;

Returns

Name der Tabellenklasse (String)

Description

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

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: Quiq::Database::ResultSet::Object

  • Tabellenklasse bei Array-Datensätzen: Quiq::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 = Quiq::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.222

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2024 Frank Seitz

LICENSE

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