modules/ModuleBuilder/parsers/relationships/AbstractRelationship.php

Show: inherited
Table of Contents

\AbstractRelationship

Package:
Children
\OneToManyRelationship
\ManyToOneRelationship
\OneToOneRelationship
\ManyToManyRelationship

Properties

Propertyprotected  $definition= ''
Details
Type
n/a
Propertypublic  $definitionKeys= 'array ( // atttributes of this relationship - here in the definition so they are preserved across saves and loads 'for_activities', 'is_custom', 'from_studio', 'readonly' , // a readonly relationship cannot be Built by subclasses of AbstractRelationships 'deleted' , // a deleted relationship will not be built, and if it had been built previously the built relationship will be removed 'relationship_only' , // means that we won't build any UI components for this relationship - required while the Subpanel code is restricted to one subpanel only from any module, and probably useful afterwards also for developers to build relationships for new code - it's a feature! // keys not found in Relationships table 'label' , // optional 'rhs_label', // optional 'lhs_label', // optional 'lhs_subpanel' , // subpanel FROM the lhs_module to display on the rhs_module detail view 'rhs_subpanel' , // subpanel FROM the rhs_module to display on the lhs_module detail view // keys from Relationships table 'relationship_name' , 'lhs_module' , 'lhs_table' , 'lhs_key' , 'rhs_module' , 'rhs_table' , 'rhs_key' , 'join_table' , 'join_key_lhs' , 'join_key_rhs' , 'relationship_type' , 'relationship_role_column' , 'relationship_role_column_value' , 'reverse' )'
static
Default valuearray ( // atttributes of this relationship - here in the definition so they are preserved across saves and loads 'for_activities', 'is_custom', 'from_studio', 'readonly' , // a readonly relationship cannot be Built by subclasses of AbstractRelationships 'deleted' , // a deleted relationship will not be built, and if it had been built previously the built relationship will be removed 'relationship_only' , // means that we won't build any UI components for this relationship - required while the Subpanel code is restricted to one subpanel only from any module, and probably useful afterwards also for developers to build relationships for new code - it's a feature! // keys not found in Relationships table 'label' , // optional 'rhs_label', // optional 'lhs_label', // optional 'lhs_subpanel' , // subpanel FROM the lhs_module to display on the rhs_module detail view 'rhs_subpanel' , // subpanel FROM the rhs_module to display on the lhs_module detail view // keys from Relationships table 'relationship_name' , 'lhs_module' , 'lhs_table' , 'lhs_key' , 'rhs_module' , 'rhs_table' , 'rhs_key' , 'join_table' , 'join_key_lhs' , 'join_key_rhs' , 'relationship_type' , 'relationship_role_column' , 'relationship_role_column_value' , 'reverse' )Details
Type
n/a

Methods

methodpublic__construct(  $definition ) : void

Parameters
Name Type Description
$definition
methodpublicbuildLabels(  $update = false ) : void

Parameters
Name Type Description
$update
methodpublicdelete( ) : void

methodpublicdeleted( ) : void

methodpublicgetActivitiesSubModuleRelationshipName(  $activitiesSubModuleName ) : void

Parameters
Name Type Description
$activitiesSubModuleName
methodpublicgetDefinition( ) : void

methodpublicgetIDName(  $sourceModule ) : void

Parameters
Name Type Description
$sourceModule
methodpublicgetJoinKeyLHS( ) : void

methodpublicgetJoinKeyRHS( ) : void

methodpublicgetLabels( ) : array

Returns a key=>value set of labels used in this relationship for use when desplaying the relationship in MB

Returns
Type Description
array labels used in this relationship
methodpublicgetLeftModuleSystemLabel( ) : void

methodprotectedgetLink2FieldDefinition(  $sourceModule,  $relationshipName,  $right_side = false,  $vname = "" ) : void

Parameters
Name Type Description
$sourceModule
$relationshipName
$right_side
$vname
methodprotectedgetLinkFieldDefinition(  $sourceModule,  $relationshipName,  $right_side = false,  $vname = "",  $id_name = false ) : void

Parameters
Name Type Description
$sourceModule
$relationshipName
$right_side
$vname
$id_name
methodpublicgetName( ) : void

methodprotectedgetRelateFieldDefinition(  $sourceModule,  $relationshipName,  $vnameLabel = '' ) : void

Parameters
Name Type Description
$sourceModule
$relationshipName
$vnameLabel
methodpublicgetRelationshipMetaData(  $relationshipType,  $checkExisting = true ) : void

Parameters
Name Type Description
$relationshipType
$checkExisting
methodpublicgetRightModuleSystemLabel( ) : void

methodprotectedgetSubpanelDefinition(  $relationshipName,  $sourceModule,  $subpanelName,  $titleKeyName = '',  $source = "" ) : void

Parameters
Name Type Description
$relationshipName
$sourceModule
$subpanelName
$titleKeyName
$source
methodprotectedgetTablename(  $moduleName ) : void

Parameters
Name Type Description
$moduleName
methodpublicgetTitleKey(  $left = false ) : void

Parameters
Name Type Description
$left
methodpublicgetType( ) : void

methodpublicgetValidDBName(  $name,  $ensureUnique = true ) : void
static

Parameters
Name Type Description
$name
$ensureUnique
methodpublicparseRelationshipType(  $type ) : void
static

Parameters
Name Type Description
$type
methodpublicreadonly( ) : void

methodpublicrelationship_only( ) : void

methodpublicsetFromStudio( ) : void

methodpublicsetName(  $relationshipName ) : void

Parameters
Name Type Description
$relationshipName
methodpublicsetReadonly(  $set = true ) : void

Parameters
Name Type Description
$set
methodpublicsetRelationship_only( ) : void

Documentation was generated by DocBlox 0.18.1.