PHPUnit_Extensions_Database_DataSet_IDataSet::getReverseIterator PHP Method

getReverseIterator() public method

Returns a reverse iterator for all table objects in the given dataset.
public getReverseIterator ( ) : PHPUnit_Extensions_Database_DataSet_ITableIterator
return PHPUnit_Extensions_Database_DataSet_ITableIterator
    public function getReverseIterator();

Usage Example

コード例 #1
0
ファイル: RowBased.php プロジェクト: schwarer2006/wikia
    /**
     * @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()
                    );
                }
            }
        }
    }
All Usage Examples Of PHPUnit_Extensions_Database_DataSet_IDataSet::getReverseIterator