From Woozle Writes Code
Jump to navigation Jump to search


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.


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).