ADOdb Active Record is an Object Relation Mapping (ORM) implementation using PHP. In an ORM system, the tables and rows of the database are abstracted into native PHP objects. This allows the programmer to focus more on manipulating the data and less on writing SQL queries.
The ADODB Active Method library takes advantage of all the functionality of the underlying ADOdb system, from table naming and casing control, mutiple database connections to features such as recordset caching.
Thre are a couple of simple rules that aid development, especially when developing simple applications in a rapid development environment. Following these rules will avoid additional configuration requirement:
person
, should be provided by a table name of persons
, not people
.id
ADODb Active Record
is designed upon the principles of the ActiveRecord
design pattern, which was first described by Martin Fowler. The ActiveRecord
pattern has been implemented in many forms across the spectrum of programming languages. ADODb Active Record
attempts to represent the database as closely to native PHP objects as possible.
ADODb Active Record
maps a database table to a PHP class, and each instance of that class represents a table row. Relations between tables can also be defined, allowing the ADODb Active Record objects to be nested.
ADOdb Active Record functions support the Record Caching functions of ADOdb.
See the tutorial
Method | Description |
---|---|
getAttributeNames | Returns the names in an ADODb Active Record object |
save | Updates the object to the database |
replace | Inserts or Updates an object |
load | Loads an object from the database |
find | Finds an object in the database |
set | Converts an an array to an ADODb Active Record object |
hasMany | Deprecated General class replaced by classHasMany, tableHasMany and tableKeyHasMany |
belongsTo | Deprecated General class replaced by classBelongsTo, tableBelongsTo and tableKeyBelongsTo |
loadRelations | Loads a subset of data in a relationship |
lastInsertId | Retrieves the last insert id of a database |
Method | Description |
---|---|
classHasMany | Sets a one-to-many Active Record relationship |
tableHasMany | Sets a one-to-many Active Record table relationship |
tableKeyHasMany | Sets a one-to-many Active Record table key relationship |
classBelongsTo | Sets the parent of a many-to-one Active Record relationship |
tableBelongsTo | Sets the parent of a many-to-one Active Record table relationship |
tableKeyBelongsTo | Sets the parent of a many-to-one Active Record table key relationship |
setDatabaseAdapter | Sets the database connection for an Active Record class |
Method | Description |
---|---|
getActiveRecords | Reads Active Records directly from a connection into an array |
getActiveRecordsClass | Reads Active Records directly from a connection into objects |
Variable | Description |
---|---|
$_quoteNames | Quotes column names |
$_table | Overrides the associated table name |
$_dbat | Overrides the database connection |
$_where | Sets a default where statement for load() |
$lockMode | Applies a SELECT lock operation |
Variable | Description |
---|---|
$ADODB_ACTIVE_CACHESECS | Set to true to enable caching of metadata such as field info |
$ACTIVE_RECORD_SAFETY | Set to false to disable safety checks. This confirms that the structure of the active record matches the structure of the associated table |
$ADODB_ACTIVE_DEFVALS | Use default values of table definition when creating new active record. |
——————————————-
Author Credit: Chris Ravenscroft
This is the original one-to-many Active Record implementation. The reason we offer both versions is that the Extended version is more powerful but more complex.
To use, just include adodb-active-recordx.inc.php instead of adodb-active-record.inc.php.
It provides a new function called Find().It also supports loading all relationships using a single query (using joins).
Method | Description |
---|---|
find | finds an ADODb Active Record object in a database |