class UniqueConstraint extends AbstractAsset implements Constraint (View source)

Class for a unique constraint.

Properties

protected string $_name from AbstractAsset
protected string|null $_namespace Namespace of the asset. If none isset the default namespace is assumed. from AbstractAsset
protected bool $_quoted from AbstractAsset
protected Identifier[] $columns Asset identifier instances of the column names the unique constraint is associated with.
protected true[] $flags Platform specific flags array($flagName => true)

Methods

void
_setName(string $name)

Sets the name of this asset.

bool
isInDefaultNamespace(string $defaultNamespaceName)

Is this asset in the default namespace?

string|null
getNamespaceName()

Gets the namespace name of this asset.

string
getShortestName(string $defaultNamespaceName)

The shortest name is stripped of the default namespace. All other namespaced elements are returned as full-qualified names.

string
getFullQualifiedName(string $defaultNamespaceName)

The normalized name is full-qualified and lowerspaced. Lowerspacing is actually wrong, but we have to do it to keep our sanity. If you are using database objects that only differentiate in the casing (FOO vs Foo) then you will NOT be able to use Doctrine Schema abstraction.

bool
isQuoted()

Checks if this asset's name is quoted.

bool
isIdentifierQuoted(string $identifier)

Checks if this identifier is quoted.

string
trimQuotes(string $identifier)

Trim quotes from the identifier.

string
getName()

Returns the name of this schema asset.

string
getQuotedName(AbstractPlatform $platform)

Gets the quoted representation of this asset but only if it was defined with one. Otherwise return the plain unquoted value as inserted.

string
_generateIdentifierName(string[] $columnNames, string $prefix = '', int $maxSize = 30)

Generates an identifier from a list of column names obeying a certain string length.

__construct(string $indexName, array $columns, array $flags = [], array $options = [])

No description

string[]
getColumns()

Returns the names of the referencing table columns the constraint is associated with.

string[]
getQuotedColumns(AbstractPlatform $platform)

Returns the quoted representation of the column names the constraint is associated with.

string[]
getUnquotedColumns()

No description

string[]
getFlags()

Returns platform specific flags for unique constraint.

addFlag(string $flag)

Adds flag for a unique constraint that translates to platform specific handling.

bool
hasFlag(string $flag)

Does this unique constraint have a specific flag?

void
removeFlag(string $flag)

Removes a flag.

bool
hasOption(string $name)

No description

mixed
getOption(string $name)

No description

mixed[]
getOptions()

No description

void
_addColumn(string $column)

No description

Details

protected void _setName(string $name)

Sets the name of this asset.

Parameters

string $name

Return Value

void

bool isInDefaultNamespace(string $defaultNamespaceName)

Is this asset in the default namespace?

Parameters

string $defaultNamespaceName

Return Value

bool

string|null getNamespaceName()

Gets the namespace name of this asset.

If NULL is returned this means the default namespace is used.

Return Value

string|null

string getShortestName(string $defaultNamespaceName)

The shortest name is stripped of the default namespace. All other namespaced elements are returned as full-qualified names.

Parameters

string $defaultNamespaceName

Return Value

string

string getFullQualifiedName(string $defaultNamespaceName)

The normalized name is full-qualified and lowerspaced. Lowerspacing is actually wrong, but we have to do it to keep our sanity. If you are using database objects that only differentiate in the casing (FOO vs Foo) then you will NOT be able to use Doctrine Schema abstraction.

Every non-namespaced element is prefixed with the default namespace name which is passed as argument to this method.

Parameters

string $defaultNamespaceName

Return Value

string

bool isQuoted()

Checks if this asset's name is quoted.

Return Value

bool

protected bool isIdentifierQuoted(string $identifier)

Checks if this identifier is quoted.

Parameters

string $identifier

Return Value

bool

protected string trimQuotes(string $identifier)

Trim quotes from the identifier.

Parameters

string $identifier

Return Value

string

string getName()

Returns the name of this schema asset.

Return Value

string

string getQuotedName(AbstractPlatform $platform)

Gets the quoted representation of this asset but only if it was defined with one. Otherwise return the plain unquoted value as inserted.

Parameters

AbstractPlatform $platform

Return Value

string

protected string _generateIdentifierName(string[] $columnNames, string $prefix = '', int $maxSize = 30)

Generates an identifier from a list of column names obeying a certain string length.

This is especially important for Oracle, since it does not allow identifiers larger than 30 chars, however building idents automatically for foreign keys, composite keys or such can easily create very long names.

Parameters

string[] $columnNames
string $prefix
int $maxSize

Return Value

string

__construct(string $indexName, array $columns, array $flags = [], array $options = [])

Parameters

string $indexName
array $columns
array $flags
array $options

string[] getColumns()

Returns the names of the referencing table columns the constraint is associated with.

Return Value

string[]

string[] getQuotedColumns(AbstractPlatform $platform)

Returns the quoted representation of the column names the constraint is associated with.

But only if they were defined with one or a column name is a keyword reserved by the platform. Otherwise the plain unquoted value as inserted is returned.

Parameters

AbstractPlatform $platform The platform to use for quotation.

Return Value

string[]

string[] getUnquotedColumns()

Return Value

string[]

string[] getFlags()

Returns platform specific flags for unique constraint.

Return Value

string[]

UniqueConstraint addFlag(string $flag)

Adds flag for a unique constraint that translates to platform specific handling.

Parameters

string $flag

Return Value

UniqueConstraint

bool hasFlag(string $flag)

Does this unique constraint have a specific flag?

Parameters

string $flag

Return Value

bool

void removeFlag(string $flag)

Removes a flag.

Parameters

string $flag

Return Value

void

bool hasOption(string $name)

Parameters

string $name

Return Value

bool

mixed getOption(string $name)

Parameters

string $name

Return Value

mixed

mixed[] getOptions()

Return Value

mixed[]

protected void _addColumn(string $column)

Parameters

string $column

Return Value

void

Exceptions

InvalidArgumentException