$aggregrations = array("count","sum","avg","max","min")
[line 250]
SQL aggregate functions that may be applied to the associated table.
SQL defines aggregate functions AVG, COUNT, MAX, MIN and SUM. Not all of these functions are implemented by all DBMS's
Tags:
$auto_create_timestamps = array("created_at","created_on")
[line 213]
Names of automatic create timestamp columns
When a row containing one of these columns is created and $auto_timestamps is true, store the current date and time in the timestamp columns.
Tags:
$auto_delete_habtm = true
[line 314]
Tags:
$auto_save_associations = true
[line 178]
Tags:
$auto_save_habtm = true
[line 309]
Tags:
$auto_timestamps = true
[line 304]
Whether to automatically update timestamps in certain columns
Tags:
$auto_update_timestamps = array("updated_at","updated_on")
[line 201]
Names of automatic update timestamp columns
When a row containing one of these columns is updated and $auto_timestamps is true, update the contents of the timestamp columns with the current date and time.
Tags:
$begin_executed = false
[line 320]
Transactions (only use if your db supports it)
FIXME: static should be after private
Tags:
$belongs_to = null
[line 161]
Tags:
$content_columns = null
[line 99]
Description of a row in the associated table in the database
Retrieved from the RDBMS by set_content_columns(). See DB_common::tableInfo() for the format. NOTE: Some RDBMS's don't return all values.
An additional element 'human_name' is added to each column by set_content_columns(). The actual value contained in each column is stored in an object variable with the name given by the 'name' element of the column description for each column.
NOTE:The information from the database about which columns are primary keys is not used. Instead, the primary keys in the table are listed in $primary_keys, which is maintained independently.
Tags:
$database_name = null
[line 118]
Database name override
Name of the database to use, if you are not using the value read from file config/database.ini
Tags:
$date_format = "Y-m-d"
[line 222]
Date format for use with auto timestamping
The format for this should be compatiable with the php date() function. http://www.php.net/date
Tags:
$db = null
[line 73]
Reference to the database object
Reference to the database object returned by PEAR DB::Connect()
Tags:
$display = 10
[line 278]
Tags:
$errors = array()
[line 295]
Description of non-fatal errors found
For every non-fatal error found, an element describing the error is added to $errors. Initialized to an empty array in valid() before validating object. When an error message is associated with a particular attribute, the message should be stored with the attribute name as its key. If the message is independent of attributes, store it with a numeric key beginning with 0.
Tags:
$fetch_mode = DB_FETCHMODE_ASSOC
[line 128]
Mode to use when fetching data from database
See the relevant PEAR DB class documentation
Tags:
$force_reconnect = false
[line 135]
Force reconnect to database
Tags:
$habtm_attributes = null
[line 167]
Tags:
$has_and_belongs_to_many = null
[line 155]
Tags:
$has_many = null
[line 143]
Tags:
$has_one = null
[line 149]
Tags:
$index_on = "id"
[line 136]
Tags:
$new_record = true
[line 189]
Whether this object represents a new record
true => This object was created without reading a row from the database, so use SQL 'INSERT' to put it in the database. false => This object was a row read from the database, so use SQL 'UPDATE' to update database with new values.
Tags:
$preserve_null_dates = true
[line 240]
Whether to keep date/datetime fields NULL if not set
true => If date field is not set it try to preserve NULL false => Don't try to preserve NULL if field is already NULL
Tags:
$primary_keys = array("id")
[line 267]
Primary key of the associated table
Array element(s) name the primary key column(s), as used to specify the row to be updated or deleted. To be a primary key a column must be listed both here and in $content_columns. NOTE:This field is maintained by hand. It is not derived from the table description read from the database.
Tags:
$rows_per_page_default = 20
[line 273]
Default for how many rows to return from find_all()
Tags:
$save_associations = array()
[line 172]
Tags:
$table_name = null
[line 109]
Table name
Name of the table in the database associated with the subclass. Normally set to the pluralized lower case underscore form of the class name by the constructor. May be overridden.
Tags:
$time_format = "H:i:s"
[line 231]
Time format for use with auto timestamping
The format for this should be compatiable with the php date() function. http://www.php.net/date
Tags:
$use_transactions = false
[line 325]
FIXME: static should be after public
Tags:
constructor __construct [line 343]
ActiveRecord __construct(
[string[]
$attributes = null])
|
|
Construct an ActiveRecord object
- Establish a connection to the database
- Find the name of the table associated with this object
- Read description of this table from the database
- Optionally apply update information to column attributes
Tags:
Parameters:
method add_error [line 2071]
void add_error(
string
$error, [string
$key = null])
|
|
Add or overwrite description of an error to the list of errors
Tags:
Parameters:
method add_habtm_records [line 1614]
void add_habtm_records(
mixed
$this_foreign_value)
|
|
Tags:
method add_record [line 1341]
Insert a new row in the table associated with this object
Build an SQL INSERT statement getting the table name from $table_name, the column names from $content_columns and the values from object variables. Send the insert to the RDBMS. FIXME: Shouldn't we be saving the insert ID value as an object variable $this->id?
Tags:
method add_record_or_update_record [line 1300]
boolean add_record_or_update_record(
)
|
|
Create or update a row in the table
If this object represents a new row in the table, insert it. Otherwise, update the exiting row. before_?() and after_?() routines will be called depending on whether the row is new.
Tags:
method after_create [line 2294]
Is called after save() on new objects that havent been saved yet (no record exists).
Tags:
method after_delete [line 2318]
Is called after delete().
Tags:
method after_save [line 2282]
Is called after save (regardless of whether its a create or update save).
Tags:
method after_update [line 2306]
Is called after save() on existing objects that has a record.
Tags:
method after_validation [line 2246]
Is called after validate().
Tags:
method after_validation_on_create [line 2258]
void after_validation_on_create(
)
|
|
Is called after validate() on new objects that haven't been saved yet (no record exists).
Tags:
method after_validation_on_update [line 2270]
void after_validation_on_update(
)
|
|
Is called after validate() on existing objects that has a record.
Tags:
method aggregrate_all [line 720]
void aggregrate_all(
mixed
$aggregrate_type, [string[]
$parameters = null], string
$agrregrate_type)
|
|
Implement *_all() functions (SQL aggregate functions)
Apply one of the SQL aggregate functions to a column of the table associated with this object. The SQL aggregate functions are AVG, COUNT, MAX, MIN and SUM. Not all DBMS's implement all of these functions.
Tags:
Parameters:
method before_create [line 2288]
Is called before save() on new objects that havent been saved yet (no record exists).
Tags:
method before_delete [line 2312]
Is called before delete().
Tags:
method before_save [line 2276]
Is called before save() (regardless of whether its a create or update save)
Tags:
method before_update [line 2300]
Is called before save() on existing objects that has a record.
Tags:
method before_validation [line 2240]
void before_validation(
)
|
|
Is called before validate().
Tags:
method before_validation_on_create [line 2252]
void before_validation_on_create(
)
|
|
Is called before validate() on new objects that haven't been saved yet (no record exists).
Tags:
method before_validation_on_update [line 2264]
void before_validation_on_update(
)
|
|
Is called before validate() on existing objects that has a record.
Tags:
method begin [line 820]
Only used if you want to do transactions and your db supports transactions
Tags:
method check_datetime [line 1692]
mixed check_datetime(
string
$field, mixed
$value)
|
|
Apply automatic timestamp updates
If automatic timestamps are in effect (as indicated by $auto_timestamps == true) and the column named in the $field argument is of type "timestamp" and matches one of the names in auto_create_timestamps or auto_update_timestamps(as selected by $new_record), then return the current date and time as a string formatted to insert in the database. Otherwise return $value.
Tags:
Parameters:
method column_attribute_exists [line 778]
boolean column_attribute_exists(
string
$attribute)
|
|
Check whether a column exists in the associated table
When called, $content_columns lists the columns in the table described by this object.
Tags:
Parameters:
method column_for_attribute [line 758]
void column_for_attribute(
mixed
$attribute)
|
|
get the attributes for a specific column.
Tags:
method commit [line 831]
Only used if you want to do transactions and your db supports transactions
Tags:
method create [line 1194]
void create(
mixed
$attributes, [mixed
$dont_validate = false])
|
|
Tags:
method delete [line 1512]
void delete(
[mixed
$id = null])
|
|
Deletes the record with the given $id or if you have done a $model = $model->find($id), then $model->delete() it will delete the record it just loaded from the find() without passing anything to delete(). If an array of ids is provided, all ids in array are deleted.
Tags:
method delete_all [line 1558]
boolean delete_all(
[string
$conditions = null])
|
|
Delete from table all rows that match argument
Delete the row(s), if any, matching the argument.
Tags:
Parameters:
method delete_all_habtm_records [line 1659]
void delete_all_habtm_records(
mixed
$other_table_name, mixed
$this_foreign_value)
|
|
Tags:
method delete_habtm_records [line 1649]
void delete_habtm_records(
mixed
$this_foreign_value)
|
|
Tags:
method establish_connection [line 2006]
void establish_connection(
)
|
|
Open a database connection if one is not currently open
The name of the database normally comes from $GLOBALS['TRAX_DB_SETTINGS'] which is set in environment.php by reading file config/database.ini. The database name may be overridden by assigning a different name to $database_name.
If there is a connection now open, as indicated by the saved value of a DB object in $GLOBALS['ACTIVE_RECORD_DB'], and force_reconnect is not true, then set the database fetch mode and return.
If there is no connection, open one and save a reference to it in $GLOBALS['ACTIVE_RECORD_DB'].
Tags:
method find [line 1104]
mixed find(
mixed[]
$id, [string
$orderings = null], [integer[]
$limit = null], [string
$joins = null])
|
|
Find row(s) with specified value(s)
Find all the rows in the table which match the argument $id. Return zero or more objects of the same class as this class representing the rows that matched the argument.
Tags:
Parameters:
method find_all [line 961]
object[] find_all(
[string
$conditions = null], [string
$orderings = null], [integer[]
$limit = null], [string
$joins = null])
|
|
Return rows selected by $conditions
If no rows match, an empty array is returned.
Tags:
Parameters:
method find_all_habtm [line 529]
void find_all_habtm(
mixed
$other_table_name, [mixed
$parameters = null])
|
|
Find all records using a "has_and_belongs_to_many" relationship
(many-to-many with a join table in between). Note that you can also specify an optional "paging limit" by setting the corresponding "limit" instance variable. For example, if you want to return 10 movies from the 5th movie on, you could set $this->movies_limit = "10, 5"
Parameters: $this_table_name: The name of the database table that has the one row you are interested in. E.g. genres $other_table_name: The name of the database table that has the many rows you are interested in. E.g. movies Returns: An array of ActiveRecord objects. (e.g. Movie objects)
Tags:
method find_all_has_many [line 584]
void find_all_has_many(
mixed
$other_table_name, [mixed
$parameters = null])
|
|
Find all records using a "has_many" relationship (one-to-many)
Parameters: $other_table_name: The name of the other table that contains many rows relating to this object's id. Returns: An array of ActiveRecord objects. (e.g. Contact objects)
Tags:
method find_by [line 889]
void find_by(
mixed
$method_name, mixed
$parameters, [mixed
$find_all = false])
|
|
Implement find_by_*() and find_all_by_* methods
Converts a method name beginning 'find_by_' or 'find_all_by_' into a query for rows matching the rest of the method name and the arguments to the function. The part of the method name after '_by' is parsed for columns and logical relationships (AND and OR) to match. For example, the call find_by_fname('Ben') is converted to SELECT * ... WHERE fname='Ben' and the call find_by_fname_and_lname('Ben','Dover') is converted to SELECT * ... WHERE fname='Ben' AND lname='Dover'
Tags:
method find_by_sql [line 1156]
void find_by_sql(
string
$sql)
|
|
Return all the rows selected by the SQL argument
If no rows match, an empty array is returned.
Parameters:
method find_first [line 1145]
mixed find_first(
string
$conditions, [string
$orderings = null], [integer[]
$limit = null], [string
$joins = null])
|
|
Return first row selected by $conditions
If no rows match, null is returned.
Tags:
Parameters:
method find_one_belongs_to [line 673]
void find_one_belongs_to(
mixed
$other_object_name, [mixed
$parameters = null])
|
|
Find all records using a "belongs_to" relationship (one-to-one) (the foreign key being in the table itself) Parameters: $other_object_name: The singularized version of a table name.
E.g. If the Contact class belongs_to the Customer class, then $other_object_name will be "customer".
Tags:
method find_one_has_one [line 641]
void find_one_has_one(
mixed
$other_object_name, [mixed
$parameters = null])
|
|
Find all records using a "has_one" relationship (one-to-one) (the foreign key being in the other table) Parameters: $other_table_name: The name of the other table that contains many rows relating to this object's id.
Returns: An array of ActiveRecord objects. (e.g. Contact objects)
Tags:
method get_association_type [line 1421]
mixed get_association_type(
mixed
$association_name)
|
|
returns the association type if defined in child class or null
Tags:
method get_attributes [line 1817]
Return pairs of column-name:column-value
Return the contents of the object as an array of elements where the key is the column name and the value is the column value. Relies on a previous call to set_content_columns() for information about the format of a row in the table.
Tags:
method get_errors [line 2093]
mixed get_errors(
[mixed
$return_string = false], [string
$seperator = " "], boolean
$return_string
)
|
|
Return description of non-fatal errors
Tags:
Parameters:
method get_errors_as_string [line 2110]
string get_errors_as_string(
[string
$seperator = " "])
|
|
Return errors as a string.
Concatenate all error descriptions into a stringusing $seperator between elements and return the string.
Tags:
Parameters:
method get_insert_id [line 1975]
Returns the autogenerated id from the last insert query
Tags:
method get_join_table_name [line 507]
void get_join_table_name(
mixed
$first_table, mixed
$second_table)
|
|
Returns a the name of the join table that would be used for the two tables. The join table name is decided from the alphabetical order of the two tables. e.g. "genres_movies" because "g" comes before "m"
Parameters: $first_table, $second_table: the names of two database tables, e.g. "movies" and "genres"
Tags:
method get_primary_key_conditions [line 1883]
string get_primary_key_conditions(
)
|
|
Return argument for a "WHERE" clause specifying this row
Returns a string which specifies the column(s) and value(s) which describe the primary key of this row of the associated table. The primary key must be one or more attributes of the object and must be listed in $content_columns as columns in the row.
Example: if $primary_keys = array("id", "ssn") and column "id" has value "5" and column "ssn" has value "123-45-6789" then the string "id = '5' AND ssn = '123-45-6789'" would be returned.
Tags:
method get_updates_sql [line 1913]
string get_updates_sql(
)
|
|
Return column values of object formatted for SQL update statement
Return a string containing the column names and values of this object in a format ready to be inserted in a SQL UPDATE statement. Automatic update has been applied to timestamps if enabled and characters special to SQL have been quoted.
Tags:
method is_error [line 2042]
boolean is_error(
object
$obj)
|
|
Test whether argument is a PEAR Error object or a DB Error object.
Tags:
Parameters:
method is_new_record [line 749]
Test whether this object represents a new record
Tags:
method limit_select [line 2336]
void limit_select(
[mixed
$controller = null], [mixed
$additional_query = null])
|
|
Paging html functions
Tags:
method load [line 1182]
void load(
[mixed
$conditions = null])
|
|
Loads into current object values from the database.
method log_query [line 2326]
void log_query(
string
$sql)
|
|
Log SQL query in development mode
If running in development mode, log the query to $GLOBAL
Tags:
Parameters:
method page_list [line 2362]
method query [line 857]
Perform an SQL query and return the results
Tags:
Parameters:
method quoted_attributes [line 1846]
string[] quoted_attributes(
[string[]
$attributes = null])
|
|
Return pairs of column-name:quoted-column-value
Return pairs of column-name:quoted-column-value where the key is the column name and the value is the column value with automatic timestamp updating applied and characters special to SQL quoted.
If $attributes is null or omitted, return all columns as currently stored in content_columns(). Otherwise, return the name:value pairs in $attributes.
Tags:
Parameters:
method raise [line 2055]
void raise(
mixed
$message)
|
|
Throw an exception describing an error in this object
Tags:
method reload [line 1165]
void reload(
[mixed
$conditions = null])
|
|
Reloads the attributes of this object from the database.
Tags:
method rollback [line 842]
Only used if you want to do transactions and your db supports transactions
Tags:
method save [line 1268]
boolean save(
[string[]
$attributes = null], [boolean
$dont_validate = false])
|
|
Create or update a row in the table with specified attributes
Tags:
Parameters:
method save_association [line 1489]
void save_association(
mixed
$object, mixed
$type)
|
|
save the association to the database
Tags:
method save_associations [line 1467]
void save_associations(
)
|
|
Saves any associations objects assigned to this instance
Tags:
method save_without_validation [line 1247]
void save_without_validation(
[mixed
$attributes = null])
|
|
Save without valdiating anything.
Tags:
method send [line 801]
void send(
string
$column)
|
|
Get contents of one column of record selected by id and table
When called, $id identifies one record in the table identified by $table. Fetch from the database the contents of column $column of this record.
Tags:
Parameters:
method set_content_columns [line 1957]
void set_content_columns(
string
$table_name)
|
|
Populate object with information about the table it represents
Call DB_common::tableInfo() to get a description of the table and store it in $content_columns. Add a more human friendly name to the element for each column. FIXME: should throw an exception if tableInfo() fails
Tags:
Parameters:
method set_habtm_attributes [line 1580]
void set_habtm_attributes(
mixed
$attributes)
|
|
Tags:
method set_table_name_using_class_name [line 1936]
void set_table_name_using_class_name(
)
|
|
Set $table_name from the class name of this object
By convention, the name of the database table represented by this object is derived from the name of the class.
Tags:
method update [line 1211]
void update(
mixed
$id, mixed
$attributes, [mixed
$dont_validate = false])
|
|
Finds the record from the passed id, instantly saves it with the passed attributes (if the validation permits it). Returns true on success and false on error.
Tags:
method update_all [line 1233]
void update_all(
mixed
$updates, [mixed
$conditions = null])
|
|
Updates all records with the SET-part of an SQL update statement in updates and returns an integer with the number of rows updates. A subset of the records can be selected by specifying conditions.
Example: $model->update_all("category = 'cooldude', approved = 1", "author = 'John'");
Tags:
method update_attributes [line 1730]
void update_attributes(
string[]
$attributes)
|
|
Update object attributes from list in argument
The elements of $attributes are parsed and assigned to attributes of the ActiveRecord object. Date/time fields are treated according to the The Trax Naming Convention.
Tags:
Parameters:
method update_habtm_records [line 1603]
void update_habtm_records(
mixed
$this_foreign_value)
|
|
Tags:
method update_record [line 1383]
Update the row in the table described by this object
The primary key attributes must exist and have appropriate non-null values. If a column is listed in $content_columns but no attribute of that name exists, the column will be set to the null string ''.
Tags:
method valid [line 2135]
Runs validation routines for update or create
Tags:
method validate [line 2222]
Overwrite this method for validation checks on all saves and
use $this->errors[] = "My error message."; or for invalid attributes $this->errors['attribute'] = "Attribute is invalid.";
Tags:
method validate_model_attributes [line 2182]
boolean validate_model_attributes(
)
|
|
Call every method named "validate_*()" where * is a column name
Find and call every method named "validate_something()" where "something" is the name of a column. The "validate_something()" functions are expected to return an array whose first element is true or false (indicating whether or not the validation succeeded), and whose second element is the error message to display if the first element is false.
Tags:
method validate_on_create [line 2228]
void validate_on_create(
)
|
|
Override this method for validation checks used only on creation.
Tags:
method validate_on_update [line 2234]
void validate_on_update(
)
|
|
Override this method for validation checks used only on updates.
Tags:
method __call [line 454]
void __call(
mixed
$method_name, mixed
$parameters)
|
|
Override call() to dynamically call the database associations
Tags:
method __get [line 377]
Override get() if they do $model->some_association->field_name dynamically load the requested contents from the database.
Tags:
method __set [line 417]
void __set(
mixed
$key, mixed
$value)
|
|
Store column value or description of the table format
If called with key 'table_name', $value is stored as the description of the table format in $content_columns. Any other key causes an object variable with the same name to be created and stored into. If the value of $key matches the name of a column in content_columns, the corresponding object variable becomes the content of the column in this row.
Tags: