modules/ModuleBuilder/parsers/relationships/AbstractRelationship.php
\AbstractRelationship
Package:
- Children
- \OneToManyRelationship
- \ManyToOneRelationship
- \OneToOneRelationship
- \ManyToManyRelationship
Properties
$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 value
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' )
Details- Type
- n/a
Methods
getActivitiesSubModuleRelationshipName(
$activitiesSubModuleName
)
:
void
Parameters
Name | Type | Description |
---|---|---|
$activitiesSubModuleName |
getLabels(
)
:
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 |
getLink2FieldDefinition(
$sourceModule, $relationshipName, $right_side
=
false, $vname
=
""
)
:
void
Parameters
Name | Type | Description |
---|---|---|
$sourceModule | ||
$relationshipName | ||
$right_side | ||
$vname |
getLinkFieldDefinition(
$sourceModule, $relationshipName, $right_side
=
false, $vname
=
"", $id_name
=
false
)
:
void
Parameters
Name | Type | Description |
---|---|---|
$sourceModule | ||
$relationshipName | ||
$right_side | ||
$vname | ||
$id_name |
getRelateFieldDefinition(
$sourceModule, $relationshipName, $vnameLabel
=
''
)
:
void
Parameters
Name | Type | Description |
---|---|---|
$sourceModule | ||
$relationshipName | ||
$vnameLabel |
getRelationshipMetaData(
$relationshipType, $checkExisting
=
true
)
:
void
Parameters
Name | Type | Description |
---|---|---|
$relationshipType | ||
$checkExisting |
getSubpanelDefinition(
$relationshipName, $sourceModule, $subpanelName, $titleKeyName
=
'', $source
=
""
)
:
void
Parameters
Name | Type | Description |
---|---|---|
$relationshipName | ||
$sourceModule | ||
$subpanelName | ||
$titleKeyName | ||
$source |
getValidDBName(
$name, $ensureUnique
=
true
)
:
void
static
Parameters
Name | Type | Description |
---|---|---|
$name | ||
$ensureUnique |
getWirelessSubpanelDefinition(
$relationshipName, $sourceModule, $subpanelName, $titleKeyName
=
'', $source
=
""
)
:
void
Parameters
Name | Type | Description |
---|---|---|
$relationshipName | ||
$sourceModule | ||
$subpanelName | ||
$titleKeyName | ||
$source |