On this page
Interface SchemaInterface
An interface used by TableSchema objects.
Method Summary
addColumn() public
Add a column to the table.
baseColumnType() public
Returns the base type name for the provided column. This represent the database type a more complex class is based upon.
columns() public
Get the column names in the table.
defaultValues() public
Get a hash of columns and their default values.
getColumn() public
Get column data in the table.
getColumnType() public
Returns column type or null if a column does not exist.
getOptions() public
Gets the options for a table.
hasColumn() public
Returns true if a column exists in the schema.
isNullable() public
Check whether a field is nullable
name() public
Get the name of the table.
removeColumn() public
Remove a column from the table schema.
setColumnType() public
Sets the type of a column.
setOptions() public
Sets the options for a table.
typeMap() public
Returns an array where the keys are the column names in the schema and the values the database type they have.
Method Detail
addColumn() public
addColumn(string $name, array<string, mixed>|string $attrs): $this
Add a column to the table.
Attributes
Columns can have several attributes:
typeThe type of the column. This should be one of CakePHP's abstract types.lengthThe length of the column.precisionThe number of decimal places to store for float and decimal types.defaultThe default value of the column.nullWhether the column can hold nulls.fixedWhether the column is a fixed length column. This is only present/valid with string columns.unsignedWhether the column is an unsigned column. This is only present/valid for integer, decimal, float columns.
In addition to the above keys, the following keys are implemented in some database dialects, but not all:
commentThe comment for the column.
Parameters
string$name-
The name of the column
array<string, mixed>|string$attrs-
The attributes for the column or the type name.
Returns
$thisbaseColumnType() public
baseColumnType(string $column): string|null
Returns the base type name for the provided column. This represent the database type a more complex class is based upon.
Parameters
string$column-
The column name to get the base type from
Returns
string|nullcolumns() public
columns(): array<string>
Get the column names in the table.
Returns
array<string>defaultValues() public
defaultValues(): array<string, mixed>
Get a hash of columns and their default values.
Returns
array<string, mixed>getColumn() public
getColumn(string $name): array<string, mixed>|null
Get column data in the table.
Parameters
string$name-
The column name.
Returns
array<string, mixed>|nullgetColumnType() public
getColumnType(string $name): string|null
Returns column type or null if a column does not exist.
Parameters
string$name-
The column to get the type of.
Returns
string|nullgetOptions() public
getOptions(): array<string, mixed>
Gets the options for a table.
Table options allow you to set platform specific table level options. For example the engine type in MySQL.
Returns
array<string, mixed>hasColumn() public
hasColumn(string $name): bool
Returns true if a column exists in the schema.
Parameters
string$name-
Column name.
Returns
boolisNullable() public
isNullable(string $name): bool
Check whether a field is nullable
Missing columns are nullable.
Parameters
string$name-
The column to get the type of.
Returns
boolname() public
name(): string
Get the name of the table.
Returns
stringremoveColumn() public
removeColumn(string $name): $this
Remove a column from the table schema.
If the column is not defined in the table, no error will be raised.
Parameters
string$name-
The name of the column
Returns
$thissetColumnType() public
setColumnType(string $name, string $type): $this
Sets the type of a column.
Parameters
string$name-
The column to set the type of.
string$type-
The type to set the column to.
Returns
$thissetOptions() public
setOptions(array<string, mixed> $options): $this
Sets the options for a table.
Table options allow you to set platform specific table level options. For example the engine type in MySQL.
Parameters
array<string, mixed>$options-
The options to set, or null to read options.
Returns
$thistypeMap() public
typeMap(): array<string, string>
Returns an array where the keys are the column names in the schema and the values the database type they have.
Returns
array<string, string>© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/interface-Cake.Datasource.SchemaInterface.html