Storm\Drivers\Platforms\Base\Queries\BasePersister::SaveRows PHP Метод

SaveRows() закрытый защищенный Метод

final protected SaveRows ( Storm\Drivers\Base\Relational\Queries\IConnection $Connection, Table $Table, array $RowsWithoutPrimaryKey, array $RowsWithPrimaryKeys, ReturningDataKeyGenerator $ReturningDataKeyGenerator = null, PostIndividualInsertKeyGenerator $PostIndividualInsertKeyGenerator = null )
$Connection Storm\Drivers\Base\Relational\Queries\IConnection
$Table Storm\Drivers\Base\Relational\Table
$RowsWithoutPrimaryKey array
$RowsWithPrimaryKeys array
$ReturningDataKeyGenerator Storm\Drivers\Base\Relational\PrimaryKeys\ReturningDataKeyGenerator
$PostIndividualInsertKeyGenerator Storm\Drivers\Base\Relational\PrimaryKeys\PostIndividualInsertKeyGenerator
    protected final function SaveRows(IConnection $Connection, Table $Table, array $RowsWithoutPrimaryKey, array $RowsWithPrimaryKeys, ReturningDataKeyGenerator $ReturningDataKeyGenerator = null, PostIndividualInsertKeyGenerator $PostIndividualInsertKeyGenerator = null)
    {
        if (count($RowsWithPrimaryKeys) === 0 && count($RowsWithoutPrimaryKey) === 0) {
            return;
        }
        $RowsToUpsert = null;
        if ($PostIndividualInsertKeyGenerator !== null) {
            $this->InsertRowsIndividually($Connection, $Table, $RowsWithoutPrimaryKey, function (Relational\Row $Row) use(&$Connection, &$PostIndividualInsertKeyGenerator) {
                $PostIndividualInsertKeyGenerator->FillPrimaryKey($Connection, $Row);
            });
            $RowsToUpsert = $RowsWithPrimaryKeys;
        } else {
            $RowsToUpsert = array_merge($RowsWithoutPrimaryKey, $RowsWithPrimaryKeys);
        }
        if (count($RowsToUpsert) > 0) {
            $ShouldReturnKeyData = $ReturningDataKeyGenerator !== null;
            $ReturnedKeyData = $this->UpsertRows($Connection, $Table, $RowsToUpsert, $ShouldReturnKeyData);
            if ($ShouldReturnKeyData) {
                $ReturningDataKeyGenerator->FillPrimaryKeys($Connection, $RowsWithoutPrimaryKey, $ReturnedKeyData);
            }
        }
    }