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