create a connection
$dsn = 'pgsql:host=localhost;dbname=test';
$conn = new TDbConnection($dsn, 'dbuser','dbpass');
create a table gateway for table/view named 'address'
$table = new TTableGateway('address', $conn);
insert a new row, returns last insert id (if applicable)
$id = $table->insert(array('name'=>'wei', 'phone'=>'111111'));
$record1 = $table->findByPk($id); //find inserted record
finds all records, returns an iterator
$records = $table->findAll();
print_r($records->readAll());
update the row
$table->updateByPk($record1, $id);
All methods that may return more than one row of data will return an
TDbDataReader iterator.
The OnCreateCommand event is raised when a command is prepared and parameter
binding is completed. The parameter object is a TDataGatewayEventParameter of which the
{@link TDataGatewayEventParameter::getCommand Command} property can be
inspected to obtain the sql query to be executed.
The OnExecuteCommand event is raised when a command is executed and the result
from the database was returned. The parameter object is a
TDataGatewayResultEventParameter of which the
{@link TDataGatewayEventParameter::getResult Result} property contains
the data return from the database. The data returned can be changed
by setting the {@link TDataGatewayEventParameter::setResult Result} property.
$table->OnCreateCommand[] = 'log_it'; //any valid PHP callback statement
$table->OnExecuteCommand[] = array($obj, 'method_name'); // calls 'method_name' on $obj
function log_it($sender, $param)
{
var_dump($param); //TDataGatewayEventParameter object.
}
显示文件
Open project: pradosoft/prado
Method | Description | |
---|---|---|
__call ( $method, $args ) : mixed | Dynamic find method using parts of method name as search criteria. | |
__construct ( $table, $connection ) | Creates a new generic table gateway for a given table or view name and a database connection. | |
count ( $criteria = null, $parameters = [] ) : integer | Find the number of records. | |
deleteAll ( $criteria, $parameters = [] ) : integer | Delete records from the table with condition given by $where and binding values specified by $parameter argument. | |
deleteAllByPks ( $keys ) | Alias for deleteByPk() | |
deleteByPk ( $keys ) : integer | Delete records by primary key. Usage: | |
find ( $criteria, $parameters = [] ) : array | Find one single record that matches the criteria. | |
findAll ( $criteria = null, $parameters = [] ) : TDbDataReader | Accepts same parameters as find(), but returns TDbDataReader instead. | |
findAllByPks ( $keys ) : TDbDataReader | Similar to findByPk(), but returns TDbDataReader instead. | |
findAllBySql ( $sql, $parameters = [] ) : TDbDataReader | Execute arbituary sql command with binding parameters. | |
findByPk ( $keys ) : array | Find one record using only the primary key or composite primary keys. Usage: | |
findBySql ( $sql, $parameters = [] ) : array | Execute arbituary sql command with binding parameters. | |
getDbConnection ( ) : TDbConnection | ||
getLastInsertId ( ) : mixed | ||
getTableInfo ( ) | ||
getTableName ( ) | ||
insert ( $data ) : mixed | 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. | |
onCreateCommand ( $sender, $param ) | Raised when a command is prepared and parameter binding is completed. | |
onExecuteCommand ( $sender, $param ) | Raised when a command is executed and the result from the database was returned. | |
update ( $data, $criteria, $parameters = [] ) : integer | Updates the table with new name-value pair $data. Each array key must correspond to a column name in the table. The update condition is specified by the $where argument and additional binding values can be specified using the $parameter argument. |
Method | Description | |
---|---|---|
getCommand ( ) : |
||
getCriteria ( $criteria, $parameters, $args ) : |
Create a new TSqlCriteria object from a string $criteria. The $args are additional parameters and are used in place of the $parameters if $parameters is not an array and $args is an arrary. | |
initCommandBuilder ( $builder ) | ||
setTableInfo ( $tableInfo ) | ||
setTableName ( $tableName ) | Sets up the command builder for the given table. |
$table->findByName($name)
$table->find('Name = ?', $name);
$table->findByUsernameAndPassword($name,$pass); // OR may be used
$table->findBy_Username_And_Password($name,$pass); // _OR_ may be used
$table->find('Username = ? AND Password = ?', $name, $pass);
$table->findAllByAge($age);
$table->findAll('Age = ?', $age);
$table->deleteAll('Name = ?', $name);
$table->deleteByName($name);
public __construct ( $table, $connection ) |
$table->delete('age > ? AND location = ?', $age, $location);
$table->deleteByPk($primaryKey); //delete 1 record
$table->deleteByPk($key1,$key2,...); //delete multiple records
$table->deleteByPk(array($key1,$key2,...)); //delete multiple records
For composite primary keys (determined from the table definitions):
$table->deleteByPk(array($key1,$key2)); //delete 1 record
delete multiple records
$table->deleteByPk(array($key1,$key2), array($key3,$key4),...);
delete multiple records
$table->deleteByPk(array( array($key1,$key2), array($key3,$key4), .. ));
public deleteByPk ( $keys ) : integer | ||
return | integer | number of records deleted. |
$table->find('username = :name AND password = :pass',
array(':name'=>$name, ':pass'=>$pass));
$table->find('username = ? AND password = ?', array($name, $pass));
$table->find('username = ? AND password = ?', $name, $pass);
$criteria is of TSqlCriteria
$table->find($criteria); //the 2nd parameter for find() is ignored.
public findAll ( $criteria = null, $parameters = [] ) : TDbDataReader | ||
return | TDbDataReader | matching records. |
$table->findAllByPk($key1, $key2, ...);
$table->findAllByPk(array($key1, $key2, ...));
For composite keys:
$table->findAllByPk(array($key1, $key2), array($key3, $key4), ...);
$table->findAllByPk(array(array($key1, $key2), array($key3, $key4), ...));
public findAllByPks ( $keys ) : TDbDataReader | ||
return | TDbDataReader | data reader. |
public findAllBySql ( $sql, $parameters = [] ) : TDbDataReader | ||
return | TDbDataReader | query results. |
$table->findByPk($primaryKey);
$table->findByPk($key1, $key2, ...);
$table->findByPk(array($key1,$key2,...));
protected getCommand ( ) : |
||
return | command builder and executor. |
protected getCriteria ( $criteria, $parameters, $args ) : |
||
return | criteria object. |
public getDbConnection ( ) : TDbConnection | ||
return | TDbConnection | database connection. |
public getLastInsertId ( ) : mixed | ||
return | mixed | last insert id, null if none is found. |
public onCreateCommand ( $sender, $param ) |
public onExecuteCommand ( $sender, $param ) |
protected setTableName ( $tableName ) |