- Home
- About
- Testimonials
- Demos
- Download
- Documentation
- Blogs
- Forum
- Support

Packages:
default
System
System.Caching
System.Collections
System.Data
System.Data.ActiveRecord
System.Data.ActiveRecord.Relations
System.Data.ActiveRecord.Scaffold
System.Data.ActiveReecord.Scaffold.InputBuilder
System.Data.Commom.Sqlite
System.Data.Common
System.Data.Common.Mssql
System.Data.Common.Mysql
System.Data.Common.Oracle
System.Data.Common.Pgsql
System.Data.Common.Sqlite
System.Data.DataGateway
System.Data.SqlMap
System.Data.SqlMap.Configuration
System.Data.SqlMap.Statements
System.Exceptions
System.I18N
System.IO
System.Security
System.Util
System.Web
System.Web.Services
System.Web.UI
System.Web.UI.ActiveControls
System.Web.UI.WebControls
System.Web.UI.WebControls.assets
System.Xml
Classes:
TDataGatewayCommand
TDataGatewayEventParameter
TDataGatewayResultEventParameter
TSqlCriteria
TTableGateway

Keyword

# Class TDataGatewayCommand

    TComponent
       |
       --TDataGatewayCommand

TDataGatewayCommand is command builder and executor class for TTableGateway and TActiveRecordGateway.

TDataGatewayCommand builds the TDbCommand for TTableGateway and TActiveRecordGateway commands such as find(), update(), insert(), etc, using the TDbCommandBuilder classes (database specific TDbCommandBuilder classes are used).

Once the command is built and the query parameters are binded, the OnCreateCommand event is raised. Event handlers for the OnCreateCommand event should not alter the Command property nor the Criteria property of the TDataGatewayEventParameter.

TDataGatewayCommand excutes the TDbCommands and returns the result obtained from the database (returned value depends on the method executed). The OnExecuteCommand event is raised after the command is executed and resulting data is set in the TDataGatewayResultEventParameter object's Result property.

Since: 3.1
Author: Wei Zhuo <weizho[at]gmail[dot]com>

Constructor Summary
public | __construct Array

Method Summary
integer | count ( TSqlCriteria $criteria)
TActiveRecordCriteria | createCriteriaFromString ( string $method, string $condition, array $args)
integer | delete ( TSqlCriteria $criteria) Executes a delete command.
integer | deleteByPk ( array $keys)
protected array | extractMatchingConditions ( string $method, string $condition) Calculates the AND/OR condition from dynamic method substrings using table meta data, allows for any AND-OR combinations.
array | find ( TSqlCriteria $criteria) Find one record matching the critera.
TDbDataReader | findAll ( TSqlCriteria $criteria) Find one or more matching records.
void | findAllByIndex ( mixed $criteria, mixed $fields, mixed $values)
TDbDataReader | findAllByPk ( array $keys)
TDbDataReader | findAllBySql ( TSqlCriteria $criteria) Find zero or more matching records for arbituary SQL.
array | findByPk ( mixed $keys)
TDbDataReader | findBySql ( TSqlCriteria $criteria) Find one matching records for arbituary SQL.
TDbCommandBuilder | getBuilder ()
protected void | getCompositeKeyCondition ( array $values, string 1) Construct a "pk IN ('key1', 'key2', ...)" criteria.
TDbConnection | getDbConnection ()
protected TDbCommand. | getFindCommand ( TSqlCriteria $criteria) Build the find command from the criteria. Limit, Offset and Ordering are applied if applicable.
void | getIndexKeyCondition ( mixed $table, mixed $fields, mixed $values)
mixed | getLastInsertID () Iterate through all the columns and returns the last insert id of the first column that has a sequence or serial.
protected array | getPrimaryKeyCondition ( array $values) Create the condition and parameters for find by primary.
protected TDbCommand | getSqlCommand ( TSqlCriteria $criteria) Build sql command from the criteria. Limit, Offset and Ordering are applied if applicable.
TDbTableInfo | getTableInfo ()
mixed | insert ( array $data) Inserts a new record into the table. Each array key must correspond to a column name in the table unless a null value is permitted.
void | onCreateCommand ( TDataGatewayCommand $command, TDataGatewayEventParameter $criteria) Raised when a command is prepared and parameter binding is completed.
void | onExecuteCommand ( TDataGatewayCommand $command, TDataGatewayResultEventParameter $result) Raised when a command is executed and the result from the database was returned.
protected string | quoteTuple ( TDbConnection $array, array 1)
integer | update ( array $data, TSqlCriteria $criteria) Updates the table with new data.
integer | updateByPk ( array $data, array $keys)

Methods Inherited From TComponent

TComponent::addParsedObject(), TComponent::attachEventHandler(), TComponent::canGetProperty(), TComponent::canSetProperty(), TComponent::createdOnTemplate(), TComponent::detachEventHandler(), TComponent::evaluateExpression(), TComponent::evaluateStatements(), TComponent::getEventHandlers(), TComponent::getSubProperty(), TComponent::hasEvent(), TComponent::hasEventHandler(), TComponent::hasProperty(), TComponent::raiseEvent(), TComponent::setSubProperty(), TComponent::__get(), TComponent::__set()

Constructor Details

## __construct

public __construct | Array

Method Details

## count

public integer count | (TSqlCriteria $criteria )

Input
TSqlCriteria | $criteria |
Output
integer | number of records.
Exception

## createCriteriaFromString

public TActiveRecordCriteria createCriteriaFromString | (string $method , string $condition , array $args )

Input
string | $method | __call method name
string | $condition | criteria conditions
array | $args | method arguments
Output
TActiveRecordCriteria | criteria created from the method name and its arguments.
Exception

## delete

public integer delete | (TSqlCriteria $criteria )

Executes a delete command.

Input
TSqlCriteria | $criteria | delete conditions and parameters.
Output
integer | number of records affected.
Exception

## deleteByPk

public integer deleteByPk | (array $keys )

Input
array | $keys | multiple primary key values or composite value arrays
Output
integer | number of rows affected.
Exception

## extractMatchingConditions

protected array extractMatchingConditions | (string $method , string $condition )

Calculates the AND/OR condition from dynamic method substrings using table meta data, allows for any AND-OR combinations.

Input
string | $method | dynamic method name
string | $condition | dynamic method search criteria
Output
array | search condition substrings
Exception

## find

public array find | (TSqlCriteria $criteria )

Find one record matching the critera.

Input
TSqlCriteria | $criteria | find conditions and parameters.
Output
array | matching record.
Exception

## findAll

public TDbDataReader findAll | (TSqlCriteria $criteria )

Find one or more matching records.

Input
TSqlCriteria | $criteria |
Output
TDbDataReader | record reader.
Exception

## findAllByIndex

public void findAllByIndex | (mixed $criteria , mixed $fields , mixed $values )

Input
mixed | $criteria |
mixed | $fields |
mixed | $values |
Output
Exception

## findAllByPk

public TDbDataReader findAllByPk | (array $keys )

Input
array | $keys | multiple primary key values or composite value arrays
Output
TDbDataReader | record reader.
Exception

## findAllBySql

public TDbDataReader findAllBySql | (TSqlCriteria $criteria )

Find zero or more matching records for arbituary SQL.

Input
TSqlCriteria | $criteria |
Output
TDbDataReader | record reader.
Exception

## findByPk

public array findByPk | (mixed $keys )

Input
mixed | $keys | primary key value, or composite key values as array.
Output
array | matching record.
Exception

## findBySql

public TDbDataReader findBySql | (TSqlCriteria $criteria )

Find one matching records for arbituary SQL.

Input
TSqlCriteria | $criteria |
Output
TDbDataReader | record reader.
Exception

## getBuilder

public TDbCommandBuilder getBuilder | ()

Output
Exception

## getCompositeKeyCondition

protected void getCompositeKeyCondition | (array $values , string 1 )

Construct a "pk IN ('key1', 'key2', ...)" criteria.

Input
array | $values | values for IN predicate
string | 1 | SQL string for primary keys IN a list.
Output
Exception

## getDbConnection

public TDbConnection getDbConnection | ()

Output
Exception

## getFindCommand

protected TDbCommand. getFindCommand | (TSqlCriteria $criteria )

Build the find command from the criteria. Limit, Offset and Ordering are applied if applicable.

Input
TSqlCriteria | $criteria |
Output
Exception

## getIndexKeyCondition

public void getIndexKeyCondition | (mixed $table , mixed $fields , mixed $values )

Input
mixed | $table |
mixed | $fields |
mixed | $values |
Output
Exception

## getLastInsertID

public mixed getLastInsertID | ()

Iterate through all the columns and returns the last insert id of the first column that has a sequence or serial.

Output
mixed | last insert id, null if none is found.
Exception

## getPrimaryKeyCondition

protected array getPrimaryKeyCondition | (array $values )

Create the condition and parameters for find by primary.

Input
array | $values | primary key values
Output
array | tuple($where, $parameters)
Exception

## getSqlCommand

protected TDbCommand getSqlCommand | (TSqlCriteria $criteria )

Build sql command from the criteria. Limit, Offset and Ordering are applied if applicable.

Input
TSqlCriteria | $criteria |
Output
TDbCommand | command corresponding to the criteria.
Exception

## getTableInfo

public TDbTableInfo getTableInfo | ()

Output
Exception

## insert

public mixed insert | (array $data )

Inserts a new record into the table. Each array key must correspond to a column name in the table unless a null value is permitted.

Input
array | $data | new record data.
Output
mixed | last insert id if one column contains a serial or sequence, otherwise true if command executes successfully and affected 1 or more rows.
Exception

## onCreateCommand

public void onCreateCommand | (TDataGatewayCommand $command , TDataGatewayEventParameter $criteria )

Raised when a command is prepared and parameter binding is completed.

The parameter object is TDataGatewayEventParameter of which the TDataGatewayEventParameter::getCommand property can be inspected to obtain the sql query to be executed.

Input
TDataGatewayCommand | $command | originator $sender
TDataGatewayEventParameter | $criteria |
Output
Exception

## onExecuteCommand

public void onExecuteCommand | (TDataGatewayCommand $command , TDataGatewayResultEventParameter $result )

Raised when a command is executed and the result from the database was returned.

The parameter object is TDataGatewayResultEventParameter of which the TDataGatewayEventParameter::getResult property contains the data return from the database. The data returned can be changed by setting the TDataGatewayEventParameter::setResult property.

Input
TDataGatewayCommand | $command | originator $sender
TDataGatewayResultEventParameter | $result |
Output
Exception

## quoteTuple

protected string quoteTuple | (TDbConnection $array , array 1 )

Input
TDbConnection | $array | database connection.
array | 1 | values
Output
string | quoted recursive tuple values, e.g. "('val1', 'val2')".
Exception

## update

public integer update | (array $data , TSqlCriteria $criteria )

Updates the table with new data.

Input
array | $data | date for update.
TSqlCriteria | $criteria | update conditions and parameters.
Output
integer | number of records affected.
Exception

## updateByPk

public integer updateByPk | (array $data , array $keys )

Input
array | $data | update for update
array | $keys | primary key-value name pairs.
Output
integer | number of records affected.
Exception