Phang  2.1
 All Classes Files Functions Variables Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
Db_Model Class Reference

A database table model. More...

Inheritance diagram for Db_Model:
Base Ui_model

List of all members.

Public Member Functions

 __construct ($table_name=null)
 Constructor.
 set_fields ()
 Gets information on fields in a table.
 set_relations ()
 Gets information on relations between the selected table and others (one-to-many and many-to-one).
 get_field_properties ($db_model, $map_table)
 Get the field properties.
 get ($id=null)
 Get a record.
 first ($where=array(), $order_by=array())
 Get the first record matching criteria.
 all ($where=array(), $order_by=array(), $limit=array())
 Get an array of all records matching criteria.
 is_field ($field_name)
 Does the field exist?
 get_field ($field_name)
 Get a field.
 has_children ()
 Is this model recursive?
 has_parent ()
 Is this model recursive?
 get_parent_field_name ()
 For recursive models, Get the field name which stores the parent ID.
 save (Db_Record &$record)
 Save a record.
 delete ($where=array())
 Delete one or more records.
 set_default ()
 Update the singleton record of the model to this one for future use.
 sql ()
 Get the SQL data.
 root ()
 For recursive models, get the root node of a tree.
- Public Member Functions inherited from Base
 __call ($function, $params)
 The 'magic' call method will get/set for us invoked when the interpreter can not find a method the user is asking for.
 set_parameters ($arguments)
 Set variables from an array to member fields requires $this->optional_arguments or $this->required_arguments to have been set by the subclass.

Static Public Member Functions

static create ($table_name, $class_name='')
 Factory method.

Public Attributes

 $h2o_safe = 1
 can be used in h2o

Protected Member Functions

 get_save_values ($record)
 Get the values to save as an array.

Protected Attributes

 $table_name = ''
 Table name.
 $schema_name = ''
 Schema (database) name.
 $primary_key = ''
 Primary key field.
 $order_by = ''
 Default order.
 $db = ''
 Database object.
 $fields = array()
 Field names.
 $relations = array()
 Relations data.
 $record_class = "Db_Record"
 Record class name - this can be overridden to a custom class on a subclass.
 $field_class = "Db_Model_Field"
 Field class name - this can be overridden to a custom class on a subclass.
 $last_id = 0
 The ID of the last record that was inserted.
- Protected Attributes inherited from Base
 $optional_arguments = array()
 Array of options that can be set to variables.
 $required_arguments = array()
 Array of options that need to be set to variables.

Detailed Description

A database table model.


Constructor & Destructor Documentation

Db_Model::__construct (   $table_name = null)

Constructor.

Creates a new instance, and adds it to the $_REQUEST array for future reference.

Reimplemented in Ui_model.


Member Function Documentation

static Db_Model::create (   $table_name,
  $class_name = '' 
)
static

Factory method.

Creates a new singleton instance of the class. If it has already been created, it uses the instance in the $_REQUEST array to save duplicate objects flying about.

Db_Model::delete (   $where = array())

Delete one or more records.

Parameters:
$wherethe where conditions:
  • an array of conditions, e.g. array('expired'=>1, 'date>='=>'2011-01-20')
  • an instance of Db_Record to be deleted
  • the id of the record to be deleted
Db_Model::get (   $id = null)

Get a record.

If you supply an ID value, it will give you that record. If you don't, it will return a blank record for you to edit and save.

Db_Model::get_save_values (   $record)
protected

Get the values to save as an array.

Only the modified data is saved. NB If you make any changes here, consider Ui_Model implementation.

Reimplemented in Ui_model.

Db_Model::set_fields ( )

Gets information on fields in a table.

Returns an array of properties for that field.

  • $table_name: name of the table.
Db_Model::set_relations ( )

Gets information on relations between the selected table and others (one-to-many and many-to-one).

Returns an array containing information on the relation.

  • $table_name: name of the table.

The documentation for this class was generated from the following file: