DELETE_BEHAVIOUR_DO_NOTHING
DELETE_BEHAVIOUR_DO_NOTHING
Ingore when referenced record is deleted
Represents a Fuman_Column which maps to another Fuman_Table.
Definition source table <-> mapping table <-> referenced table
| source column, target column |
$_referencedTable : \Fuman_Table
Referenced Table
$_dataType : \Fuman_Db_DataType
Data-type of Column. Types are defined in @link Fuman_Db_Abstract
$_table : \Fuman_Table
Fuman_Table of Column
$_columns : array<mixed,\Fuman_Column_Abstract>
$_mappingTable : \Fuman_Table
validateDelete(\Fuman_Db_Record $originRecord, \Fuman_Db_Record $relatedRecord, null|\stdClass $visitedRecords, string $logIndent = '') : void
Validate record for delete
\Fuman_Db_Record | $originRecord | The origin of the delete procedure |
\Fuman_Db_Record | $relatedRecord | The related record |
null|\stdClass | $visitedRecords | |
string | $logIndent |
deleteRecord(\Fuman_Db_Record $relatedRecord, \stdClass|null $visitedRecords = null, string $logIndent = '') : void
Delete record
\Fuman_Db_Record | $relatedRecord | |
\stdClass|null | $visitedRecords | |
string | $logIndent |
getReferencedTable() : \Fuman_Table
Returns the referenced Table
__construct(string $name, integer|\Fuman_Db_DataType $dataType, \Fuman_Table $table) : \Fuman_Column
Constructor
string | $name | |
integer|\Fuman_Db_DataType | $dataType | @ishacky |
\Fuman_Table | $table |
getDataType() : \Fuman_Db_DataType
Returns data type of column.
addValidator(\Fuman_Validate_Abstract $validator) : void
Add a validate object.
\Fuman_Validate_Abstract | $validator |
validateSave(\Fuman_Db_Record $record) : void
Validates a record with the added validators.
\Fuman_Db_Record | $record | And an array of messages(strings): $object->messages |
getColumns() : array<mixed,\Fuman_Column>
Returns a list of Columns
getColumn(string $columnName) : \Fuman_Column
Gets column for name
string | $columnName |
getTable() : \Fuman_Table
Gets table
setTable(\Fuman_Table $table) : void
Sets table
\Fuman_Table | $table |
setMapping(string $referencedTableUniqueName, string $referencedColumnName, string|null $mappingTableUniqueName = null, string|null $sourceColumnName = null, string|null $targetColumnName = null, string|null $mappingTableDbName = null, object|null $callbackObject = null) : void
Set mapping
string | $referencedTableUniqueName | |
string | $referencedColumnName | |
string|null | $mappingTableUniqueName | |
string|null | $sourceColumnName | |
string|null | $targetColumnName | |
string|null | $mappingTableDbName | |
object|null | $callbackObject | Object on which onMappingCreated(Fuman_Column_ManyToMany $mapping) will be called |
getMappedRecords(integer $value, string $recordClass = 'Fuman_Db_Record') : \Fuman_Db_RecordSet
Returns all Mapped Records by given value
integer | $value | |
string | $recordClass |
getMappingRecords(\Fuman_Db_Record $relatedRecord) : array<mixed,\Fuman_Db_Record>
Gets the the records from mapping table
\Fuman_Db_Record | $relatedRecord |
getReferencedRecords(\Fuman_Db_RecordSetMeta|null $meta = null) : \Fuman_Db_RecordSet
Returns all records from referenced table
\Fuman_Db_RecordSetMeta|null | $meta |
getReferencedTableRecordSetMeta(boolean $considerRequestOrUserPreference = false) : \Fuman_Db_RecordSetMeta|null
Gets a prepared Fuman_Db_RecordSetMeta fror the referenced Fuman_Table.
boolean | $considerRequestOrUserPreference |
getNewRecord(string|null $sourceValue = null, string|null $referencedValue = null, string|null $seq = null) : \Fuman_Db_Record
Gets new mapping record
string|null | $sourceValue | |
string|null | $referencedValue | |
string|null | $seq |
getMappingTable() : \Fuman_Table
Gets mapping table
getReferencedColumn() : \Fuman_Column
Gets referenced column
generateMappingTableNames(string $tableName, string $columnName, string $referencedTableName, string $referencedColumnName, string|null $suffix = null) : \stdClass
Generates mapping table names
string | $tableName | |
string | $columnName | |
string | $referencedTableName | |
string | $referencedColumnName | |
string|null | $suffix |
An object with tableName (mappingTable), columns (Array with two column names)
_addColumn(\Fuman_Column $column) : void
Adds column
\Fuman_Column | $column |
_setup(string $referencedTableUniqueName, string $referencedColumnName, string|null $mappingTableUniqueName = null, string|null $sourceColumnName = null, string|null $targetColumnName = null, string|null $mappingTableDbName = null, object|null $callbackObject = null) : void
Sets mapping
Calls onMappingCreated on callbackObject when mapping has been created
string | $referencedTableUniqueName | |
string | $referencedColumnName | |
string|null | $mappingTableUniqueName | |
string|null | $sourceColumnName | |
string|null | $targetColumnName | |
string|null | $mappingTableDbName | |
object|null | $callbackObject |
_getMappingRecordSetMeta() : \Fuman_Db_RecordSetMeta
_getMappingColumnType(\Fuman_Db_DataType $dataType = null) : integer
returns the default (Fuman_Db_DataType::TYPE_INT) dataType if we have no or a special fuman dataType
\Fuman_Db_DataType | $dataType |