当前位置: 首页>>代码示例>>PHP>>正文


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怎么用?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()
                    );
                }
            }
        }
    }
开发者ID:schwarer2006,项目名称:wikia,代码行数:37,代码来源:RowBased.php

示例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());
                }
            }
        }
    }
开发者ID:padraic,项目名称:framework-benchs,代码行数:29,代码来源:Insert.php

示例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);
 }
开发者ID:pihh,项目名称:mariana-framework,代码行数:31,代码来源:DataSetFilter.php

示例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);
 }
开发者ID:xiplias,项目名称:pails,代码行数:24,代码来源:DataSetFilter.php

示例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());
             }
         }
     }
 }
开发者ID:rafalwrzeszcz,项目名称:zf2,代码行数:24,代码来源:Insert.php

示例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);
 }
开发者ID:robhinks,项目名称:dbunit,代码行数:12,代码来源:ReplacementDataSet.php


注:本文中的PHPUnit_Extensions_Database_DataSet_IDataSet::getIterator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。