Ferreteria/v0.5/table

From Woozle Writes Code
< Ferreteria‎ | v0.5
Revision as of 21:03, 4 April 2023 by Woozle (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

About

Tables have been greatly simplified since v0.4, where they (along with Rows and Rowsets) were the basis for specialized classes that constituted what is now called Features. There are now just two classes:

  • cTabloid: can use (but does not require) a Feature object; also maintains a static Table registry. Does nothing else.
  • cTable: adds
    • functions to access the Table's SQL name
    • function to access the database engine object
    • traits for database interaction (see data/db/table/traits.php)

It's uncertain whether this is a good design, or if either or both of these classes are even needed.

Usage

To retrieve data from a Table, use either of:

  • <Table object>->FetchRecord($sqlFilter) - retrieves a single record; throws an error if more than one match found
  • <Table object>->FetchRecord($sqlFilter) - retrieves zero or more records

Each of these functions return a SelectResult (see data/space).

To add a record to a Table, use <Table object>->DoInsert(array) - returns cInsertResult (see data/space/ops.php).

Related