Alpha Framework 3.0.0 API Documentation
  • Namespace
  • Class

Namespaces

  • Alpha
    • Controller
      • Front
    • Exception
    • Model
      • Type
    • Task
    • Util
      • Backup
      • Cache
      • Code
        • Highlight
        • Metric
      • Config
      • Convertor
      • Email
      • Extension
      • Feed
      • File
      • Graph
      • Helper
      • Http
        • Filter
        • Session
      • Image
      • Logging
      • Search
      • Security
      • Service
    • View
      • Renderer
        • Html
        • Json
      • Widget

Classes

  • Boolean
  • Date
  • DEnum
  • DEnumItem
  • Double
  • Enum
  • Integer
  • Relation
  • RelationLookup
  • Sequence
  • SmallText
  • Text
  • Timestamp
  • Type

Interfaces

  • TypeInterface

Class Relation

The Relation complex data type.

Alpha\Model\Type\Type
Extended by Alpha\Model\Type\Relation implements Alpha\Model\Type\TypeInterface
Namespace: Alpha\Model\Type
Copyright:

Copyright (c) 2018, John Collins (founder of Alpha Framework). All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the
following conditions are met:

* Redistributions of source code must retain the above
  copyright notice, this list of conditions and the
  following disclaimer.
* Redistributions in binary form must reproduce the above
  copyright notice, this list of conditions and the
  following disclaimer in the documentation and/or other
  materials provided with the distribution.
* Neither the name of the Alpha Framework nor the names
  of its contributors may be used to endorse or promote
  products derived from this software without specific
  prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

License: The BSD License
Author: John Collins dev@alphaframework.org
Since: 1.0
Located at Model/Type/Relation.php

Methods summary

public
# __construct( )

Constructor.

Constructor.

Since

1.0
public
# setRelatedClass( string $RC, string $side = '' )

Set the name of the business object class that this class is related to.

Set the name of the business object class that this class is related to.

Parameters

$RC
$side
Only required for MANY-TO-MANY relations

Throws

Alpha\Exception\IllegalArguementException

Since

1.0
public string
# getRelatedClass( string $side = '' )

Get the name of the business object class that this class is related to.

Get the name of the business object class that this class is related to.

Parameters

$side

Returns

string

Throws

Alpha\Exception\IllegalArguementException

Since

1.0
public
# setRelatedClassField( string $RCF )

Setter for the field of the related class.

Setter for the field of the related class.

Parameters

$RCF

Throws

Alpha\Exception\IllegalArguementException

Since

1.0
public string
# getRelatedClassField( )

Getter for the field of the related class.

Getter for the field of the related class.

Returns

string

Since

1.0
public
# setRelatedClassHeaderFields( array $fieldNames )

Setter for ONE-TO-MANY relations, which sets the header fields to render from the related class.

Setter for ONE-TO-MANY relations, which sets the header fields to render from the related class.

Parameters

$fieldNames

Since

1.0
public array
# getRelatedClassHeaderFields( )

Getter for the selection widget field headings of the related class.

Getter for the selection widget field headings of the related class.

Returns

array

Since

1.0
public
# setRelatedClassDisplayField( string $RCDF, string $side = '' )

Setter for the display field from the related class.

Setter for the display field from the related class.

Parameters

$RCDF
$side
Only required for MANY-TO-MANY relations

Throws

Alpha\Exception\IllegalArguementException

Since

1.0
public string
# getRelatedClassDisplayField( string $side = '' )

Getter for the display field from the related class.

Getter for the display field from the related class.

Parameters

$side
Only required for MANY-TO-MANY relations

Returns

string

Throws

Alpha\Exception\IllegalArguementException

Since

1.0
public
# setRelationType( string $RT )

Setter for the relation type.

Setter for the relation type.

Parameters

$RT

Throws

Alpha\Exception\IllegalArguementException
Alpha\Exception\FailedLookupCreateException

Since

1.0
public string
# getRelationType( )

Getter for the relation type.

Getter for the relation type.

Returns

string

Since

1.0
public
# setValue( integer $val )

Setter for the value ID of this relation.

Setter for the value ID of this relation.

Parameters

$val

Throws

Alpha\Exception\IllegalArguementException

Since

1.0

Implementation of

Alpha\Model\Type\TypeInterface::setValue()
public array
# getRelatedIDs( )

Getter for the array of IDs used by MANY-TO-MANY instances.

Getter for the array of IDs used by MANY-TO-MANY instances.

Returns

array

Since

2.0
public
# setRelatedIDs( array $IDs )

Setter for the array of IDs used by MANY-TO-MANY instances.

Setter for the array of IDs used by MANY-TO-MANY instances.

Parameters

$IDs

Throws

Alpha\Exception\IllegalArguementException

Since

2.0
public string
# getValue( )

Getter for the Relation value.

Getter for the Relation value.

Returns

string

Since

1.0

Implementation of

Alpha\Model\Type\TypeInterface::getValue()
public string
# getRule( )

Get the validation rule.

Get the validation rule.

Returns

string

Since

1.0
public
# setRule( string $rule )

Setter to override the default validation rule.

Setter to override the default validation rule.

Parameters

$rule

Since

1.0
public string
# getRelatedClassDisplayFieldValue( string $accessingClassName = '' )

Getter for the display value of the related class field. In the case of a MANY-TO-MANY Relation, a comma-seperated sorted list of values is returned.

Getter for the display value of the related class field. In the case of a MANY-TO-MANY Relation, a comma-seperated sorted list of values is returned.

Parameters

$accessingClassName
Used to indicate the reading side when accessing from MANY-TO-MANY relation (leave blank for other relation types)

Returns

string

Throws

Alpha\Exception\IllegalArguementException

Since

1.0
public array|Alpha\Model\ActiveRecord
# getRelated( $accessingClassName = '' )

For one-to-many and many-to-many relations, get an array of records on the other side. For one-to-one relations, get the record (Alpha\Model\ActiveRecord instance) on the other side.

For one-to-many and many-to-many relations, get an array of records on the other side. For one-to-one relations, get the record (Alpha\Model\ActiveRecord instance) on the other side.

string $accessingClassName Used to indicate the reading side when accessing from MANY-TO-MANY relation (leave blank for other relation types)

Returns

array|Alpha\Model\ActiveRecord

Throws

Alpha\Exception\IllegalArguementException

Since

3.0
public integer
# getSize( )

Get the allowable size of the Relation in the database field.

Get the allowable size of the Relation in the database field.

Returns

integer

Since

1.0
public Alpha\Model\Type\RelationLookup
# getLookup( )

Get the lookup object if available (only on MANY-TO-MANY relations, null otherwise).

Get the lookup object if available (only on MANY-TO-MANY relations, null otherwise).

Returns

Alpha\Model\Type\RelationLookup

Since

1.0
public string
# getSide( string $RecordClassname )

Gets the side ('left' or 'right') of the passed classname on the current Relation object.

Gets the side ('left' or 'right') of the passed classname on the current Relation object.

Parameters

$RecordClassname

Returns

string

Throws

Alpha\Model\Type\IllegalArguementException

Since

1.0
public
# setTaggedClass( string $taggedClass )

Set the taggedClass property to the name of the tagged class when building relations to the TagObject record.

Set the taggedClass property to the name of the tagged class when building relations to the TagObject record.

Parameters

$taggedClass

Since

1.0

Methods inherited from Alpha\Model\Type\Type

__toString(), getHelper(), setHelper()

Constants summary

integer MAX_SIZE

The absolute maximum size of the value for the this Relation.

The absolute maximum size of the value for the this Relation.

Since

1.0
# 11

Properties summary

protected string $helper

The error message for the Relation type when validation fails.

The error message for the Relation type when validation fails.

Since

1.0
#
Alpha Framework 3.0.0 API Documentation API documentation generated by ApiGen