本文整理汇总了PHP中PHPUnit_Extensions_Database_DataSet_IDataSet::getIterator方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPUnit_Extensions_Database_DataSet_IDataSet::getIterator方法的具体用法?PHP PHPUnit_Extensions_Database_DataSet_IDataSet::getIterator怎么用?PHP PHPUnit_Extensions_Database_DataSet_IDataSet::getIterator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPUnit_Extensions_Database_DataSet_IDataSet
的用法示例。
在下文中一共展示了PHPUnit_Extensions_Database_DataSet_IDataSet::getIterator方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
*/
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
$databaseDataSet = $connection->createDataSet();
$dsIterator = $this->iteratorDirection == self::ITERATOR_TYPE_REVERSE ? $dataSet->getReverseIterator() : $dataSet->getIterator();
foreach ($dsIterator as $table) {
/* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
$databaseTableMetaData = $databaseDataSet->getTableMetaData($table->getTableMetaData()->getTableName());
$query = $this->buildOperationQuery($databaseTableMetaData, $table, $connection);
if ($query === FALSE && $table->getRowCount() > 0) {
throw new PHPUnit_Extensions_Database_Operation_Exception($this->operationName, '', array(), $table, "Rows requested for insert, but no columns provided!");
}
$statement = $connection->getConnection()->prepare($query);
$rowCount = $table->getRowCount();
for ($i = 0; $i < $rowCount; $i++) {
$args = $this->buildOperationArguments($databaseTableMetaData, $table, $i);
try {
$statement->execute($args);
}
catch (Exception $e) {
throw new PHPUnit_Extensions_Database_Operation_Exception(
$this->operationName, $query, $args, $table, $e->getMessage()
);
}
}
}
}
示例2: execute
/**
* @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
*/
public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
if(!($connection instanceof Zend_Test_PHPUnit_Db_Connection)) {
// require_once "Zend/Test/PHPUnit/Db/Exception.php";
throw new Zend_Test_PHPUnit_Db_Exception("Not a valid Zend_Test_PHPUnit_Db_Connection instance, ".get_class($connection)." given!");
}
$databaseDataSet = $connection->createDataSet();
$dsIterator = $dataSet->getIterator();
foreach($dsIterator as $table) {
$tableName = $table->getTableMetaData()->getTableName();
$db = $connection->getConnection();
for($i = 0; $i < $table->getRowCount(); $i++) {
$values = $this->buildInsertValues($table, $i);
try {
$db->insert($tableName, $values);
} catch (Exception $e) {
throw new PHPUnit_Extensions_Database_Operation_Exception("INSERT", "INSERT INTO ".$tableName." [..]", $values, $table, $e->getMessage());
}
}
}
}
示例3: createIterator
/**
* Creates an iterator over the tables in the data set. If $reverse is
* true a reverse iterator will be returned.
*
* @param bool $reverse
* @return PHPUnit_Extensions_Database_DataSet_ITableIterator
*/
protected function createIterator($reverse = FALSE)
{
$original_tables = $this->originalDataSet->getIterator($reverse);
$new_tables = [];
foreach ($original_tables as $table) {
/* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
$tableName = $table->getTableMetaData()->getTableName();
if (!in_array($tableName, $this->includeTables) && !empty($this->includeTables) || in_array($tableName, $this->excludeTables)) {
continue;
} elseif (!empty($this->excludeColumns[$tableName]) || !empty($this->includeColumns[$tableName])) {
$new_table = new PHPUnit_Extensions_Database_DataSet_TableFilter($table);
if (!empty($this->includeColumns[$tableName])) {
$new_table->addIncludeColumns($this->includeColumns[$tableName]);
}
if (!empty($this->excludeColumns[$tableName])) {
$new_table->addExcludeColumns($this->excludeColumns[$tableName]);
}
$new_tables[] = $new_table;
} else {
$new_tables[] = $table;
}
}
return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($new_tables);
}
示例4: createIterator
/**
* Creates an iterator over the tables in the data set. If $reverse is
* true a reverse iterator will be returned.
*
* @param bool $reverse
* @return PHPUnit_Extensions_Database_DataSet_ITableIterator
*/
protected function createIterator($reverse = FALSE)
{
$original_tables = $this->originalDataSet->getIterator($reverse);
$new_tables = array();
foreach ($original_tables as $table) {
/* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
$tableName = $table->getTableMetaData()->getTableName();
if (in_array($tableName, $this->excludeTables)) {
continue;
} elseif (array_key_exists($tableName, $this->excludeColumns)) {
$new_tables[] = new PHPUnit_Extensions_Database_DataSet_TableFilter($table, $this->excludeColumns[$tableName]);
} else {
$new_tables[] = $table;
}
}
return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($new_tables);
}
示例5: execute
/**
* @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
* @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
*/
public function execute(\PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, \PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
{
if (!$connection instanceof \Zend\Test\PHPUnit\Db\Connection) {
throw new \Zend\Test\PHPUnit\Db\Exception\InvalidArgumentException("Not a valid Zend_Test_PHPUnit_Db_Connection instance, " . get_class($connection) . " given!");
}
$databaseDataSet = $connection->createDataSet();
$dsIterator = $dataSet->getIterator();
foreach ($dsIterator as $table) {
$tableName = $table->getTableMetaData()->getTableName();
$db = $connection->getConnection();
for ($i = 0; $i < $table->getRowCount(); $i++) {
$values = $this->buildInsertValues($table, $i);
try {
$db->insert($tableName, $values);
} catch (\Exception $e) {
throw new \PHPUnit_Extensions_Database_Operation_Exception("INSERT", "INSERT INTO " . $tableName . " [..]", $values, $table, $e->getMessage());
}
}
}
}
示例6: createIterator
/**
* Creates an iterator over the tables in the data set. If $reverse is
* true a reverse iterator will be returned.
*
* @param bool $reverse
* @return PHPUnit_Extensions_Database_DataSet_ITableIterator
*/
protected function createIterator($reverse = FALSE)
{
$innerIterator = $reverse ? $this->dataSet->getReverseIterator() : $this->dataSet->getIterator();
return new PHPUnit_Extensions_Database_DataSet_ReplacementTableIterator($innerIterator, $this->fullReplacements, $this->subStrReplacements);
}