Constants

DELETE_BEHAVIOUR_DO_NOTHING

DELETE_BEHAVIOUR_DO_NOTHING

Ingore when referenced record is deleted

DELETE_BEHAVIOUR_SET_NULL

DELETE_BEHAVIOUR_SET_NULL

Value of referenced record wil be set null

DELETE_BEHAVIOUR_DELETE

DELETE_BEHAVIOUR_DELETE

Reference will be deleted

COLUMN_R

COLUMN_R

Read Only Column Flag

COLUMN_RW

COLUMN_RW

Read and Write Column Flag

Properties

$_deleteBehaviour

$_deleteBehaviour : string

Delete Behaviour of Relation column

Type

string

$_referencedTable

$_referencedTable : \Fuman_Table

Referenced Table

Type

\Fuman_Table

$_referencedColumnName

$_referencedColumnName : string

Referenced ColumnName

Type

string

$_name

$_name : string

Name of this column in database

Type

string

$_dataType

$_dataType : \Fuman_Db_DataType

Data-type of Column. Types are defined in @link Fuman_Db_Abstract

Type

\Fuman_Db_DataType

$_validators

$_validators : array

List of Validators {@link Fuman_Validate_Abstract}

Type

array

$_validatorsEnabled

$_validatorsEnabled : 

Type

$_table

$_table : \Fuman_Table

Fuman_Table of Column

Type

\Fuman_Table

$_requiredTableUniqueName

$_requiredTableUniqueName : 

Type

$_setReferenceArgs

$_setReferenceArgs : 

Type

Methods

getRelationInfo()

getRelationInfo() : string

Gets relation info

Returns

string

validateDelete()

validateDelete(\Fuman_Db_Record  $originRecord, \Fuman_Db_Record  $relatedRecord, null|\stdClass  $visitedRecords, string  $logIndent = '') : void

Validate record for delete

Parameters

\Fuman_Db_Record $originRecord

The origin of the delete procedure

\Fuman_Db_Record $relatedRecord

The related record

null|\stdClass $visitedRecords
string $logIndent

deleteRecord()

deleteRecord(\Fuman_Db_Record  $relatedRecord, \stdClass|null  $visitedRecords = null, string  $logIndent = '') : void

Delete record

Parameters

\Fuman_Db_Record $relatedRecord
\stdClass|null $visitedRecords
string $logIndent

setDeleteBehaviour()

setDeleteBehaviour(string  $behaviour) : void

Set Delete Behaviour of Reference

Parameters

string $behaviour

getDeleteBehaviour()

getDeleteBehaviour() : string

Returns delete behaviour of column

Returns

string

getReferencedTable()

getReferencedTable() : \Fuman_Table

Returns the referenced Table

Returns

\Fuman_Table

getReferencedColumnName()

getReferencedColumnName() : string

Return the referenced Column Name

Returns

string

__construct()

__construct(string  $name, integer|\Fuman_Db_DataType  $dataType, \Fuman_Table  $table) : \Fuman_Column

Constructor

Parameters

string $name
integer|\Fuman_Db_DataType $dataType

@ishacky

\Fuman_Table $table

Returns

\Fuman_Column

init()

init() 

Init

getName()

getName() : string

Returns name of column.

Returns

string

getDataType()

getDataType() : \Fuman_Db_DataType

Returns data type of column.

Returns

\Fuman_Db_DataType

setValidatorsEnabled()

setValidatorsEnabled(boolean  $flag) 

Enabled/disable validators

Parameters

boolean $flag

getValidators()

getValidators() : array

Gets validators

Returns

array

hasValidator()

hasValidator(string  $className) : boolean

Has validator

Parameters

string $className

Returns

boolean

addValidator()

addValidator(\Fuman_Validate_Abstract  $validator) : void

Add a validate object.

Parameters

\Fuman_Validate_Abstract $validator

addValidators()

addValidators(array  $validators) : void

Add a list of validators to the column

Parameters

array $validators

validateSave()

validateSave(\Fuman_Db_Record  $record) : void

Validates a record with the added validators.

Parameters

\Fuman_Db_Record $record

And an array of messages(strings): $object->messages

getColumns()

getColumns() : array<mixed,\Fuman_Column>

Returns a list of Columns

Returns

array<mixed,\Fuman_Column>

getColumn()

getColumn(string  $columnName) : \Fuman_Column

Gets column for name

Parameters

string $columnName

Returns

\Fuman_Column

hasColumn()

hasColumn(string  $columnName) : boolean

Has column

Parameters

string $columnName

Returns

boolean

getTable()

getTable() : \Fuman_Table

Gets table

Returns

\Fuman_Table

setTable()

setTable(\Fuman_Table  $table) : void

Sets table

Parameters

\Fuman_Table $table

onApplicationReady()

onApplicationReady() : void

Called when application is ready

onApplicationFinish()

onApplicationFinish() : void

Called when application has finished

setReference()

setReference(string  $fumanTableUniqueName, string  $columnName, object|null  $callbackObject = null) : void

Adds an reference to the given table on the given column name

Parameters

string $fumanTableUniqueName
string $columnName
object|null $callbackObject

Object on which onReferenceCreated(Fuman_Column_ManyToOne $reference) will be called

hasReference()

hasReference() : boolean

Returns true when a reference is set on column

Returns

boolean

getReferencedRecord()

getReferencedRecord(integer  $value) : \Fuman_Db_Record|null

Returns the referenced Record by value

Parameters

integer $value

Returns

\Fuman_Db_Record|null —

The Record or false when not found

getReferencedRecords()

getReferencedRecords(\Fuman_Db_RecordSetMeta|null  $meta = null) : \Fuman_Db_RecordSetMeta|null

Returns all Records from the referenced Table

Parameters

\Fuman_Db_RecordSetMeta|null $meta

Returns

\Fuman_Db_RecordSetMeta|null

getReferencedTableRecordSetMeta()

getReferencedTableRecordSetMeta(boolean  $considerRequestOrUserPreference = false) : \Fuman_Db_RecordSetMeta|null

Gets a prepared Fuman_Db_RecordSetMeta fror the referenced Fuman_Table.

Parameters

boolean $considerRequestOrUserPreference

Returns

\Fuman_Db_RecordSetMeta|null

_createColumns()

_createColumns() : void

Creates the required columns

_addColumn()

_addColumn(\Fuman_Column  $column) : void

Adds column

Parameters

\Fuman_Column $column

_checkSetReference()

_checkSetReference() : boolean

Helper method to wait until application read or reference table added

Returns

boolean

_setReference()

_setReference(string  $fumanTableUniqueName, string  $columnName, null|object  $callbackObject = null) : void

Sets reference

Parameters

string $fumanTableUniqueName
string $columnName
null|object $callbackObject

_mayDeleteRecord()

_mayDeleteRecord(\Fuman_Db_Record  $record) : boolean

Checks if all other ManyToMany columns on the record are also in DELETE mode

Parameters

\Fuman_Db_Record $record

Returns

boolean

_getAffectedDeleteRecords()

_getAffectedDeleteRecords(\Fuman_Db_Record  $relatedRecord) : \Fuman_Db_RecordSet

Gets a record set of the affected rows by delete

Parameters

\Fuman_Db_Record $relatedRecord

Returns

\Fuman_Db_RecordSet