HumHub Documentation (unofficial)

TableSchema extends BaseObject
in package

TableSchema represents the metadata of a database table.

Tags
author

Qiang Xue qiang.xue@gmail.com

since
2.0

Table of Contents

Properties

$columnNames  : array<string|int, mixed>
$columns  : array<string|int, ColumnSchema>
$foreignKeys  : array<string|int, mixed>
$fullName  : string
$name  : string
$primaryKey  : array<string|int, string>
$schemaName  : string
$sequenceName  : string|null

Methods

__call()  : mixed
Calls the named method which is not a class method.
__construct()  : mixed
Constructor.
__get()  : mixed
Returns the value of an object property.
__isset()  : bool
Checks if a property is set, i.e. defined and not null.
__set()  : mixed
Sets value of an object property.
__unset()  : mixed
Sets an object property to null.
canGetProperty()  : bool
Returns a value indicating whether a property can be read.
canSetProperty()  : bool
Returns a value indicating whether a property can be set.
className()  : string
Returns the fully qualified name of this class.
fixPrimaryKey()  : mixed
Manually specifies the primary key for this table.
getColumn()  : ColumnSchema|null
Gets the named column metadata.
getColumnNames()  : array<string|int, mixed>
Returns the names of all columns in this table.
hasMethod()  : bool
Returns a value indicating whether a method is defined.
hasProperty()  : bool
Returns a value indicating whether a property is defined.
init()  : mixed
Initializes the object.

Properties

$columnNames read-only

public array<string|int, mixed> $columnNames

List of column names.

$columns

public array<string|int, ColumnSchema> $columns = []

column metadata of this table. Each array element is a [[ColumnSchema]] object, indexed by column names.

$foreignKeys

public array<string|int, mixed> $foreignKeys = []

foreign keys of this table. Each array element is of the following structure:

[
 'ForeignTableName',
 'fk1' => 'pk1',  // pk1 is in foreign table
 'fk2' => 'pk2',  // if composite foreign key
]

$fullName

public string $fullName

the full name of this table, which includes the schema name prefix, if any. Note that if the schema name is the same as the [[Schema::defaultSchema|default schema name]], the schema name will not be included.

$name

public string $name

the name of this table. The schema name is not included. Use [[fullName]] to get the name with schema name prefix.

$primaryKey

public array<string|int, string> $primaryKey = []

primary keys of this table.

$schemaName

public string $schemaName

the name of the schema that this table belongs to.

$sequenceName

public string|null $sequenceName

sequence name for the primary key. Null if no sequence.

Methods

__call()

Calls the named method which is not a class method.

public __call(string $name, array<string|int, mixed> $params) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when an unknown method is being invoked.

Parameters
$name : string

the method name

$params : array<string|int, mixed>

method parameters

Tags
throws
UnknownMethodException

when calling unknown method

Return values
mixed —

the method return value

__construct()

Constructor.

public __construct([array<string|int, mixed> $config = [] ]) : mixed

The default implementation does two things:

  • Initializes the object with the given configuration $config.
  • Call [[init()]].

If this method is overridden in a child class, it is recommended that

  • the last parameter of the constructor is a configuration array, like $config here.
  • call the parent implementation at the end of the constructor.
Parameters
$config : array<string|int, mixed> = []

name-value pairs that will be used to initialize the object properties

__get()

Returns the value of an object property.

public __get(string $name) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $value = $object->property;.

Parameters
$name : string

the property name

Tags
throws
UnknownPropertyException

if the property is not defined

throws
InvalidCallException

if the property is write-only

see
__set()
Return values
mixed —

the property value

__isset()

Checks if a property is set, i.e. defined and not null.

public __isset(string $name) : bool

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing isset($object->property).

Note that if the property is not defined, false will be returned.

Parameters
$name : string

the property name or the event name

Tags
see
https://www.php.net/manual/en/function.isset.php
Return values
bool —

whether the named property is set (not null).

__set()

Sets value of an object property.

public __set(string $name, mixed $value) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $object->property = $value;.

Parameters
$name : string

the property name or the event name

$value : mixed

the property value

Tags
throws
UnknownPropertyException

if the property is not defined

throws
InvalidCallException

if the property is read-only

see
__get()

__unset()

Sets an object property to null.

public __unset(string $name) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing unset($object->property).

Note that if the property is not defined, this method will do nothing. If the property is read-only, it will throw an exception.

Parameters
$name : string

the property name

Tags
throws
InvalidCallException

if the property is read only.

see
https://www.php.net/manual/en/function.unset.php

canGetProperty()

Returns a value indicating whether a property can be read.

public canGetProperty(string $name[, bool $checkVars = true ]) : bool

A property is readable if:

  • the class has a getter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canSetProperty()
Return values
bool —

whether the property can be read

canSetProperty()

Returns a value indicating whether a property can be set.

public canSetProperty(string $name[, bool $checkVars = true ]) : bool

A property is writable if:

  • the class has a setter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canGetProperty()
Return values
bool —

whether the property can be written

className()

Returns the fully qualified name of this class.

public static className() : string
Tags
deprecated

since 2.0.14. On PHP >=5.5, use ::class instead.

Return values
string —

the fully qualified name of this class.

fixPrimaryKey()

Manually specifies the primary key for this table.

public fixPrimaryKey(string|array<string|int, mixed> $keys) : mixed
Parameters
$keys : string|array<string|int, mixed>

the primary key (can be composite)

Tags
throws
InvalidArgumentException

if the specified key cannot be found in the table.

getColumn()

Gets the named column metadata.

public getColumn(string $name) : ColumnSchema|null

This is a convenient method for retrieving a named column even if it does not exist.

Parameters
$name : string

column name

Return values
ColumnSchema|null —

metadata of the named column. Null if the named column does not exist.

getColumnNames()

Returns the names of all columns in this table.

public getColumnNames() : array<string|int, mixed>
Return values
array<string|int, mixed> —

list of column names

hasMethod()

Returns a value indicating whether a method is defined.

public hasMethod(string $name) : bool

The default implementation is a call to php function method_exists(). You may override this method when you implemented the php magic method __call().

Parameters
$name : string

the method name

Return values
bool —

whether the method is defined

hasProperty()

Returns a value indicating whether a property is defined.

public hasProperty(string $name[, bool $checkVars = true ]) : bool

A property is defined if:

  • the class has a getter or setter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canGetProperty()
see
canSetProperty()
Return values
bool —

whether the property is defined

init()

Initializes the object.

public init() : mixed

This method is invoked at the end of the constructor after the object is initialized with the given configuration.


        
On this page

Search results