0 follower

Class Yiisoft\Db\Schema\TableSchema

InheritanceYiisoft\Db\Schema\TableSchema
ImplementsYiisoft\Db\Schema\TableSchemaInterface

Represents the metadata of a database table.

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( string $name '', string $schemaName '' )
$name string
$schemaName string

                public function __construct(
    private string $name = '',
    private string $schemaName = '',
) {}

            
checks() public method

public Yiisoft\Db\Schema\TableSchema checks ( Yiisoft\Db\Constraint\Check $checks )
$checks Yiisoft\Db\Constraint\Check

                public function checks(Check ...$checks): static
{
    $this->checks = $checks;
    return $this;
}

            
column() public method

public Yiisoft\Db\Schema\TableSchema column ( string $name, Yiisoft\Db\Schema\Column\ColumnInterface $column )
$name string
$column Yiisoft\Db\Schema\Column\ColumnInterface

                public function column(string $name, ColumnInterface $column): static
{
    $this->columns[$name] = $column;
    return $this;
}

            
columns() public method

public Yiisoft\Db\Schema\TableSchema columns ( array $columns )
$columns array

                public function columns(array $columns): static
{
    $this->columns = $columns;
    return $this;
}

            
comment() public method

public Yiisoft\Db\Schema\TableSchema comment ( string|null $comment )
$comment string|null

                public function comment(?string $comment): static
{
    $this->comment = $comment;
    return $this;
}

            
createSql() public method

public Yiisoft\Db\Schema\TableSchema createSql ( string|null $sql )
$sql string|null

                public function createSql(?string $sql): static
{
    $this->createSql = $sql;
    return $this;
}

            
defaultValues() public method

public Yiisoft\Db\Schema\TableSchema defaultValues ( Yiisoft\Db\Constraint\DefaultValue $defaultValues )
$defaultValues Yiisoft\Db\Constraint\DefaultValue

                public function defaultValues(DefaultValue ...$defaultValues): static
{
    $this->defaultValues = $defaultValues;
    return $this;
}

            
foreignKeys() public method

public Yiisoft\Db\Schema\TableSchema foreignKeys ( Yiisoft\Db\Constraint\ForeignKey $foreignKeys )
$foreignKeys Yiisoft\Db\Constraint\ForeignKey

                public function foreignKeys(ForeignKey ...$foreignKeys): static
{
    $this->foreignKeys = $foreignKeys;
    return $this;
}

            
getChecks() public method

public array getChecks ( )

                public function getChecks(): array
{
    return $this->checks;
}

            
getColumn() public method

public Yiisoft\Db\Schema\Column\ColumnInterface|null getColumn ( string $name )
$name string

                public function getColumn(string $name): ?ColumnInterface
{
    return $this->columns[$name] ?? null;
}

            
getColumnNames() public method

public array getColumnNames ( )

                public function getColumnNames(): array
{
    return array_keys($this->columns);
}

            
getColumns() public method

public array getColumns ( )

                public function getColumns(): array
{
    return $this->columns;
}

            
getComment() public method

public string|null getComment ( )

                public function getComment(): ?string
{
    return $this->comment;
}

            
getCreateSql() public method

public string|null getCreateSql ( )

                public function getCreateSql(): ?string
{
    return $this->createSql;
}

            
getDefaultValues() public method

public array getDefaultValues ( )

                public function getDefaultValues(): array
{
    return $this->defaultValues;
}

            
getForeignKeys() public method

public array getForeignKeys ( )

                public function getForeignKeys(): array
{
    return $this->foreignKeys;
}

            
getFullName() public method

public string getFullName ( )

                public function getFullName(): string
{
    if ($this->schemaName === '') {
        return $this->name;
    }
    return "$this->schemaName.$this->name";
}

            
getIndexes() public method

public array getIndexes ( )

                public function getIndexes(): array
{
    return $this->indexes;
}

            
getName() public method

public string getName ( )

                public function getName(): string
{
    return $this->name;
}

            
getOptions() public method

public array getOptions ( )

                public function getOptions(): array
{
    return $this->options;
}

            
getPrimaryKey() public method

public array getPrimaryKey ( )

                public function getPrimaryKey(): array
{
    foreach ($this->indexes as $index) {
        if ($index->isPrimaryKey) {
            return $index->columnNames;
        }
    }
    return array_keys(
        array_filter(
            $this->columns,
            static fn(ColumnInterface $column) => $column->isPrimaryKey(),
        ),
    );
}

            
getSchemaName() public method

public string getSchemaName ( )

                public function getSchemaName(): string
{
    return $this->schemaName;
}

            
getSequenceName() public method

public string|null getSequenceName ( )

                public function getSequenceName(): ?string
{
    return $this->sequenceName;
}

            
getUniques() public method

public array getUniques ( )

                public function getUniques(): array
{
    return array_filter($this->indexes, static fn(Index $index): bool => $index->isUnique);
}

            
indexes() public method

public Yiisoft\Db\Schema\TableSchema indexes ( Yiisoft\Db\Constraint\Index $indexes )
$indexes Yiisoft\Db\Constraint\Index

                public function indexes(Index ...$indexes): static
{
    $this->indexes = $indexes;
    return $this;
}

            
name() public method

public Yiisoft\Db\Schema\TableSchema name ( string $name )
$name string

                public function name(string $name): static
{
    $this->name = $name;
    return $this;
}

            
options() public method

public Yiisoft\Db\Schema\TableSchema options ( string $options )
$options string

                public function options(string ...$options): static
{
    $this->options = $options;
    return $this;
}

            
schemaName() public method

public Yiisoft\Db\Schema\TableSchema schemaName ( string $schemaName )
$schemaName string

                public function schemaName(string $schemaName): static
{
    $this->schemaName = $schemaName;
    return $this;
}

            
sequenceName() public method

public Yiisoft\Db\Schema\TableSchema sequenceName ( string|null $sequenceName )
$sequenceName string|null

                public function sequenceName(?string $sequenceName): static
{
    $this->sequenceName = $sequenceName;
    return $this;
}