MediaWiki  master
ORMTable Class Reference
Inheritance diagram for ORMTable:
Collaboration diagram for ORMTable:

List of all members.

Public Member Functions

 canHaveField ($name)
 Gets if the object can take a certain field.
 count (array $conditions=array(), array $options=array())
 Returns the amount of matching records.
 delete (array $conditions, $functionName=null)
 Removes the object from the database.
 getAPIParams ($requireParams=false, $setDefaults=false)
 Get API parameters for the fields supported by this object.
 getDefaults ()
 Returns a list of default field values.
 getFieldDescriptions ()
 Returns an array with the fields and their descriptions.
 getFieldNames ()
 Return the names of the fields.
 getFieldsFromDBResult (stdClass $result)
 Get an array with fields from a database result, that can be fed directly to the constructor or to setFields.
 getLoadBalancer ()
 Get the database type used for read operations.
 getPrefixedField ($field)
 Takes in a field and returns an it's prefixed version, ready for db usage.
 getPrefixedFields (array $fields)
 Takes in a field or array of fields and returns an array with their prefixed versions, ready for db usage.
 getPrefixedValues (array $values)
 Takes in an associative array with field names as keys and their values as value.
 getReadDb ()
 Get the database ID used for read operations.
 getReadDbConnection ()
 Get the database type used for read operations.
 getSummaryFields ()
 Returns a list of the summary fields.
 getTargetWiki ()
 Get the ID of the any foreign wiki to use as a target for database operations.
 getWriteDbConnection ()
 Get the database type used for read operations.
 has (array $conditions=array())
 Returns if there is at least one record matching the provided conditions.
 newFromArray (array $data, $loadDefaults=false)
 newFromDBResult (stdClass $result)
 newRow (array $data, $loadDefaults=false)
 Get a new instance of the class from an array.
 newRowFromDBResult (stdClass $result)
 Get a new instance of the class from a database result.
 rawSelect ($fields=null, array $conditions=array(), array $options=array(), $functionName=null)
 Do the actual select.
 rawSelectRow (array $fields, array $conditions=array(), array $options=array(), $functionName=null)
 Selects the the specified fields of the records matching the provided conditions.
 releaseConnection (DatabaseBase $db)
 Releases the lease on the given database connection.
 select ($fields=null, array $conditions=array(), array $options=array(), $functionName=null)
 Selects the the specified fields of the records matching the provided conditions and returns them as DBDataObject.
 selectFields ($fields=null, array $conditions=array(), array $options=array(), $collapse=true, $functionName=null)
 Selects the the specified fields of the records matching the provided conditions and returns them as associative arrays.
 selectFieldsRow ($fields=null, array $conditions=array(), array $options=array(), $collapse=true, $functionName=null)
 Selects the the specified fields of the first record matching the provided conditions and returns it as an associative array, or false when nothing matches.
 selectObjects ($fields=null, array $conditions=array(), array $options=array(), $functionName=null)
 Selects the the specified fields of the records matching the provided conditions and returns them as DBDataObject.
 selectRow ($fields=null, array $conditions=array(), array $options=array(), $functionName=null)
 Selects the the specified fields of the first matching record.
 setReadDb ($db)
 Set the database ID to use for read operations, use DB_XXX constants or an index to the load balancer setup.
 setTargetWiki ($wiki)
 Set the ID of the any foreign wiki to use as a target for database operations.
 unprefixFieldName ($fieldName)
 Takes a field name with prefix and returns the unprefixed equivalent.
 unprefixFieldNames (array $fieldNames)
 Takes an array of field names with prefix and returns the unprefixed equivalent.
 update (array $values, array $conditions=array())
 Update the records matching the provided conditions by setting the fields that are keys in the $values param to their corresponding values.
 updateSummaryFields ($summaryFields=null, array $conditions=array())
 Computes the values of the summary fields of the objects matching the provided conditions.

Static Public Member Functions

static singleton ()
 Get an instance of this class.

Protected Member Functions

 getFieldPrefix ()
 Gets the db field prefix.

Protected Attributes

integer $readDb = DB_SLAVE
 ID of the database connection to use for read operations.
String bool $wiki = false
 The ID of any foreign wiki to use as a target for database operations, or false to use the local wiki.

Static Protected Attributes

static $instanceCache = array()

Detailed Description

Definition at line 30 of file ORMTable.php.


Member Function Documentation

Gets if the object can take a certain field.

Since:
1.20
Parameters:
string$name
Returns:
boolean

Implements IORMTable.

Definition at line 774 of file ORMTable.php.

ORMTable::count ( array conditions = array(),
array options = array() 
)

Returns the amount of matching records.

Condition field names get prefixed.

Note that this can be expensive on large tables. In such cases you might want to use DatabaseBase::estimateRowCount instead.

Since:
1.20
Parameters:
array$conditions
array$options
Returns:
integer

Implements IORMTable.

Definition at line 323 of file ORMTable.php.

ORMTable::delete ( array conditions,
functionName = null 
)

Removes the object from the database.

Since:
1.20
Parameters:
array$conditions
string | null$functionName
Returns:
boolean Success indicator

Implements IORMTable.

Definition at line 343 of file ORMTable.php.

ORMTable::getAPIParams ( requireParams = false,
setDefaults = false 
)

Get API parameters for the fields supported by this object.

Since:
1.20
Parameters:
boolean$requireParams
boolean$setDefaults
Returns:
array

Implements IORMTable.

Definition at line 366 of file ORMTable.php.

Returns a list of default field values.

field name => field value

Since:
1.20
Returns:
array

Implements IORMTable.

Reimplemented in SitesTable.

Definition at line 73 of file ORMTable.php.

Returns an array with the fields and their descriptions.

field name => field description

Since:
1.20
Returns:
array

Implements IORMTable.

Definition at line 414 of file ORMTable.php.

Return the names of the fields.

Since:
1.20
Returns:
array

Implements IORMTable.

Definition at line 761 of file ORMTable.php.

ORMTable::getFieldPrefix ( ) [abstract, protected]

Gets the db field prefix.

Since:
1.20
Returns:
string

Reimplemented in TestORMTable, and SitesTable.

ORMTable::getFieldsFromDBResult ( stdClass $  result)

Get an array with fields from a database result, that can be fed directly to the constructor or to setFields.

Since:
1.20
Parameters:
stdClass$result
Returns:
array

Implements IORMTable.

Definition at line 689 of file ORMTable.php.

Get the database type used for read operations.

See also:
wfGetLB
Since:
1.20
Returns:
LoadBalancer The database load balancer object

Implements IORMTable.

Definition at line 499 of file ORMTable.php.

Takes in a field and returns an it's prefixed version, ready for db usage.

Since:
1.20
Parameters:
string | array$field
Returns:
string

Implements IORMTable.

Definition at line 631 of file ORMTable.php.

Takes in a field or array of fields and returns an array with their prefixed versions, ready for db usage.

Since:
1.20
Parameters:
array | string$fields
Returns:
array

Implements IORMTable.

Definition at line 614 of file ORMTable.php.

Takes in an associative array with field names as keys and their values as value.

The field names are prefixed with the db field prefix.

Since:
1.20
Parameters:
array$values
Returns:
array

Implements IORMTable.

Definition at line 581 of file ORMTable.php.

Get the database ID used for read operations.

Since:
1.20
Returns:
integer DB_ enum

Implements IORMTable.

Definition at line 425 of file ORMTable.php.

Get the database type used for read operations.

This is to be used instead of wfGetDB.

See also:
LoadBalancer::getConnection
Since:
1.20
Returns:
DatabaseBase The database object

Implements IORMTable.

Definition at line 472 of file ORMTable.php.

Returns a list of the summary fields.

These are fields that cache computed values, such as the amount of linked objects of $type. This is relevant as one might not want to do actions such as log changes when these get updated.

Since:
1.20
Returns:
array

Implements IORMTable.

Definition at line 86 of file ORMTable.php.

Get the ID of the any foreign wiki to use as a target for database operations.

Since:
1.20
Returns:
String|bool The target wiki, in a form that LBFactory understands (or false if the local wiki is used)

Implements IORMTable.

Definition at line 447 of file ORMTable.php.

Get the database type used for read operations.

This is to be used instead of wfGetDB.

See also:
LoadBalancer::getConnection
Since:
1.20
Returns:
DatabaseBase The database object

Implements IORMTable.

Definition at line 486 of file ORMTable.php.

ORMTable::has ( array conditions = array())

Returns if there is at least one record matching the provided conditions.

Condition field names get prefixed.

Since:
1.20
Parameters:
array$conditions
Returns:
boolean

Implements IORMTable.

Definition at line 305 of file ORMTable.php.

ORMTable::newFromArray ( array data,
loadDefaults = false 
)
See also:
ORMTable::newRow
Deprecated:
use newRow instead
Since:
1.20
Parameters:
array$data
boolean$loadDefaults
Returns:
IORMRow

Definition at line 735 of file ORMTable.php.

ORMTable::newFromDBResult ( stdClass $  result)
See also:
ORMTable::newRowFromFromDBResult
Deprecated:
use newRowFromDBResult instead
Since:
1.20
Parameters:
stdClass$result
Returns:
IORMRow

Definition at line 707 of file ORMTable.php.

ORMTable::newRow ( array data,
loadDefaults = false 
)

Get a new instance of the class from an array.

Since:
1.20
Parameters:
array$data
boolean$loadDefaults
Returns:
IORMRow

Implements IORMTable.

Reimplemented in SitesTable.

Definition at line 749 of file ORMTable.php.

ORMTable::newRowFromDBResult ( stdClass $  result)

Get a new instance of the class from a database result.

Since:
1.20
Parameters:
stdClass$result
Returns:
IORMRow

Implements IORMTable.

Definition at line 720 of file ORMTable.php.

ORMTable::rawSelect ( fields = null,
array conditions = array(),
array options = array(),
functionName = null 
)

Do the actual select.

Since:
1.20
Parameters:
null | string | array$fields
array$conditions
array$options
null | string$functionName
Returns:
ResultWrapper

Implements IORMTable.

Definition at line 146 of file ORMTable.php.

ORMTable::rawSelectRow ( array fields,
array conditions = array(),
array options = array(),
functionName = null 
)

Selects the the specified fields of the records matching the provided conditions.

Field names do NOT get prefixed.

Since:
1.20
Parameters:
array$fields
array$conditions
array$options
string | null$functionName
Returns:
ResultWrapper

Implements IORMTable.

Definition at line 253 of file ORMTable.php.

Releases the lease on the given database connection.

This is useful mainly for connections to a foreign wiki. It does nothing for connections to the local wiki.

See also:
LoadBalancer::reuseConnection
Parameters:
DatabaseBase$dbthe database
Since:
1.20

Implements IORMTable.

Definition at line 513 of file ORMTable.php.

ORMTable::select ( fields = null,
array conditions = array(),
array options = array(),
functionName = null 
)

Selects the the specified fields of the records matching the provided conditions and returns them as DBDataObject.

Field names get prefixed.

Since:
1.20
Parameters:
array | string | null$fields
array$conditions
array$options
string | null$functionName
Returns:
ORMResult

Implements IORMTable.

Definition at line 103 of file ORMTable.php.

ORMTable::selectFields ( fields = null,
array conditions = array(),
array options = array(),
collapse = true,
functionName = null 
)

Selects the the specified fields of the records matching the provided conditions and returns them as associative arrays.

Provided field names get prefixed. Returned field names will not have a prefix.

When $collapse is true: If one field is selected, each item in the result array will be this field. If two fields are selected, each item in the result array will have as key the first field and as value the second field. If more then two fields are selected, each item will be an associative array.

Since:
1.20
Parameters:
array | string | null$fields
array$conditions
array$options
boolean$collapseSet to false to always return each result row as associative array.
string | null$functionName
Returns:
array of array

Implements IORMTable.

Definition at line 190 of file ORMTable.php.

ORMTable::selectFieldsRow ( fields = null,
array conditions = array(),
array options = array(),
collapse = true,
functionName = null 
)

Selects the the specified fields of the first record matching the provided conditions and returns it as an associative array, or false when nothing matches.

This method makes use of selectFields and expects the same parameters and returns the same results (if there are any, if there are none, this method returns false).

See also:
ORMTable::selectFields
Since:
1.20
Parameters:
array | string | null$fields
array$conditions
array$options
boolean$collapseSet to false to always return each result row as associative array.
string | null$functionName
Returns:
mixed|array|bool False on failure

Implements IORMTable.

Definition at line 286 of file ORMTable.php.

ORMTable::selectObjects ( fields = null,
array conditions = array(),
array options = array(),
functionName = null 
)

Selects the the specified fields of the records matching the provided conditions and returns them as DBDataObject.

Field names get prefixed.

Since:
1.20
Parameters:
array | string | null$fields
array$conditions
array$options
string | null$functionName
Returns:
array of self

Implements IORMTable.

Definition at line 121 of file ORMTable.php.

ORMTable::selectRow ( fields = null,
array conditions = array(),
array options = array(),
functionName = null 
)

Selects the the specified fields of the first matching record.

Field names get prefixed.

Since:
1.20
Parameters:
array | string | null$fields
array$conditions
array$options
string | null$functionName
Returns:
IORMRow|bool False on failure

Implements IORMTable.

Definition at line 231 of file ORMTable.php.

Set the database ID to use for read operations, use DB_XXX constants or an index to the load balancer setup.

Parameters:
integer$db
Since:
1.20

Implements IORMTable.

Definition at line 436 of file ORMTable.php.

Set the ID of the any foreign wiki to use as a target for database operations.

Parameters:
String | bool$wikiThe target wiki, in a form that LBFactory understands (or false if the local wiki shall be used)
Since:
1.20

Implements IORMTable.

Definition at line 458 of file ORMTable.php.

static ORMTable::singleton ( ) [static]

Get an instance of this class.

Since:
1.20
Returns:
IORMTable

Implements IORMTable.

Definition at line 668 of file ORMTable.php.

Referenced by SiteObjectTest\getTableInstance(), TestORMRowTest\getTableInstance(), MediaWikiSite\newFromGlobalId(), and MediaWikiSiteTest\testFactoryConstruction().

ORMTable::unprefixFieldName ( fieldName)

Takes a field name with prefix and returns the unprefixed equivalent.

Since:
1.20
Parameters:
string$fieldName
Returns:
string

Implements IORMTable.

Definition at line 657 of file ORMTable.php.

Takes an array of field names with prefix and returns the unprefixed equivalent.

Since:
1.20
Parameters:
array$fieldNames
Returns:
array

Implements IORMTable.

Definition at line 644 of file ORMTable.php.

ORMTable::update ( array values,
array conditions = array() 
)

Update the records matching the provided conditions by setting the fields that are keys in the $values param to their corresponding values.

Since:
1.20
Parameters:
array$values
array$conditions
Returns:
boolean Success indicator

Implements IORMTable.

Definition at line 532 of file ORMTable.php.

ORMTable::updateSummaryFields ( summaryFields = null,
array conditions = array() 
)

Computes the values of the summary fields of the objects matching the provided conditions.

Since:
1.20
Parameters:
array | string | null$summaryFields
array$conditions

Implements IORMTable.

Definition at line 554 of file ORMTable.php.


Member Data Documentation

ORMTable::$instanceCache = array() [static, protected]

Definition at line 47 of file ORMTable.php.

integer ORMTable::$readDb = DB_SLAVE [protected]

ID of the database connection to use for read operations.

Can be changed via

See also:
setReadDb.
Since:
1.20 DB_ enum

Definition at line 55 of file ORMTable.php.

String bool ORMTable::$wiki = false [protected]

The ID of any foreign wiki to use as a target for database operations, or false to use the local wiki.

Since:
1.20

Definition at line 63 of file ORMTable.php.


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