From eab6bb13b9efb3e1c6d725368368de4d74b00946 Mon Sep 17 00:00:00 2001 From: wei <> Date: Mon, 7 May 2007 04:17:37 +0000 Subject: Update Active Record docs. --- framework/Data/DataGateway/TDataGatewayCommand.php | 13 ++++++++++- framework/Data/DataGateway/TTableGateway.php | 27 +++++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) (limited to 'framework/Data/DataGateway') diff --git a/framework/Data/DataGateway/TDataGatewayCommand.php b/framework/Data/DataGateway/TDataGatewayCommand.php index 80856a0e..60db80d6 100644 --- a/framework/Data/DataGateway/TDataGatewayCommand.php +++ b/framework/Data/DataGateway/TDataGatewayCommand.php @@ -280,11 +280,22 @@ class TDataGatewayCommand extends TComponent } /** - * Find one or more matching records for arbituary SQL. + * Find one matching records for arbituary SQL. * @param TSqlCriteria $criteria * @return TDbDataReader record reader. */ public function findBySql($criteria) + { + $command = $this->getSqlCommand($criteria); + return $this->onExecuteCommand($command, $command->queryRow()); + } + + /** + * Find zero or more matching records for arbituary SQL. + * @param TSqlCriteria $criteria + * @return TDbDataReader record reader. + */ + public function findAllBySql($criteria) { $command = $this->getSqlCommand($criteria); return $this->onExecuteCommand($command, $command->query()); diff --git a/framework/Data/DataGateway/TTableGateway.php b/framework/Data/DataGateway/TTableGateway.php index f278eed5..e389a98e 100644 --- a/framework/Data/DataGateway/TTableGateway.php +++ b/framework/Data/DataGateway/TTableGateway.php @@ -175,7 +175,7 @@ class TTableGateway extends TComponent * Execute arbituary sql command with binding parameters. * @param string SQL query string. * @param array binding parameters, positional or named. - * @return TDbDataReader query results. + * @return array query results. */ public function findBySql($sql, $parameters=array()) { @@ -184,6 +184,19 @@ class TTableGateway extends TComponent return $this->getCommand()->findBySql($criteria); } + /** + * Execute arbituary sql command with binding parameters. + * @param string SQL query string. + * @param array binding parameters, positional or named. + * @return TDbDataReader query results. + */ + public function findAllBySql($sql, $parameters=array()) + { + $args = func_num_args() > 1 ? array_slice(func_get_args(),1) : null; + $criteria = $this->getCriteria($sql,$parameters, $args); + return $this->getCommand()->findAllBySql($criteria); + } + /** * Find one single record that matches the criteria. * @@ -313,6 +326,16 @@ class TTableGateway extends TComponent return $this->getCommand()->deleteByPk($keys); } + /** + * Alias for deleteByPk() + */ + public function deleteAllByPks($keys) + { + if(func_num_args() > 1) + $keys = func_get_args(); + return $this->deleteByPk($keys); + } + /** * Find the number of records. * @param string|TSqlCriteria SQL condition or criteria object. @@ -428,6 +451,8 @@ class TTableGateway extends TComponent $condition = $method[9]==='_' ? substr($method,10) : substr($method,9); else if($delete = substr(strtolower($method),0,8)==='deleteby') $condition = $method[8]==='_' ? substr($method,9) : substr($method,8); + else if($delete = substr(strtolower($method),0,11)==='deleteallby') + $condition = $method[11]==='_' ? substr($method,12) : substr($method,11); else return null; -- cgit v1.2.3