On this page
Interface SchemaInterface
An interface used by TableSchema objects.
Direct Implementers
Indirect Implementers
Method Summary
-
addColumn() publicAdd 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() publicGet the column names in the table.
-
defaultValues() publicGet a hash of columns and their default values.
-
getColumn() publicGet column data in the table.
-
getColumnType() publicReturns column type or null if a column does not exist.
-
getOptions() publicGets the options for a table.
-
hasColumn() publicReturns true if a column exists in the schema.
-
isNullable() publicCheck whether or not a field is nullable
-
name() publicGet the name of the table.
-
removeColumn() publicRemove a column from the table schema.
-
setColumnType() publicSets the type of a column.
-
setOptions() publicSets 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()source public
addColumn( string $name , array $attrs )
Add a column to the table.
Attributes
Columns can have several attributes:
type
The type of the column. This should be one of CakePHP's abstract types.length
The length of the column.precision
The number of decimal places to store for float and decimal types.default
The default value of the column.null
Whether or not the column can hold nulls.fixed
Whether or not the column is a fixed length column. This is only present/valid with string columns.unsigned
Whether or not 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:
comment
The comment for the column.
Parameters
-
string
$name
- The name of the column
-
array
$attrs
- The attributes for the column.
Returns
$this
baseColumnType()source public
baseColumnType( string $column )
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|nullThe base type name
defaultValues()source public
defaultValues( )
Get a hash of columns and their default values.
Returns
arraygetColumn()source public
getColumn( string $name )
Get column data in the table.
Parameters
-
string
$name
- The column name.
Returns
array|nullColumn data or null.
getColumnType()source public
getColumnType( string $name )
Returns column type or null if a column does not exist.
Parameters
-
string
$name
- The column to get the type of.
Returns
string|nullgetOptions()source public
getOptions( )
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
arrayAn array of options.
hasColumn()source public
hasColumn( string $name )
Returns true if a column exists in the schema.
Parameters
-
string
$name
- Column name.
Returns
booleanisNullable()source public
isNullable( string $name )
Check whether or not a field is nullable
Missing columns are nullable.
Parameters
-
string
$name
- The column to get the type of.
Returns
booleanWhether or not the field is nullable.
removeColumn()source public
removeColumn( string $name )
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
$this
setColumnType()source public
setColumnType( string $name , string $type )
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
$this
setOptions()source public
setOptions( array $options )
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
$options
- The options to set, or null to read options.
Returns
$this
typeMap()source public
typeMap( )
Returns an array where the keys are the column names in the schema and the values the database type they have.
Returns
array© 2005–2017 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/3.4/class-Cake.Datasource.SchemaInterface.html