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 RelationLookup

The RelationLookup complex data type. Used to store object2object lookup tables for MANY-TO-MANY relationships between record objects.

Alpha\Model\ActiveRecord
Extended by Alpha\Model\Type\RelationLookup 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/RelationLookup.php

Methods summary

public
# __construct( $leftClassName, $rightClassName )

The constructor.

The constructor.

Throws

Alpha\Exception\FailedLookupCreateException
Alpha\Exception\IllegalArguementException

Since

1.0

Overrides

Alpha\Model\ActiveRecord::__construct
public string
# getLeftClassName( )

Get the leftClassName value.

Get the leftClassName value.

Returns

string

Since

1.0
public string
# getRightClassName( )

Get the rightClassName value.

Get the rightClassName value.

Returns

string

Since

1.0
public string
# getTableName( )

Custom getter for the TABLE_NAME, which can't be static in this class due to the lookup tablenames being different each time.

Custom getter for the TABLE_NAME, which can't be static in this class due to the lookup tablenames being different each time.

Returns

string

Throws

Alpha\Exception\AlphaException

Since

1.0

Overrides

Alpha\Model\ActiveRecord::getTableName
public array
# loadAllByAttribute( string $attribute, string $value, integer $start = 0, integer $limit = 0, string $orderBy = 'ID', string $order = 'ASC', boolean $ignoreClassType = false, array $constructorArgs = array() )

This custom version provides the left/right class names to the business object constructor, required for RelationLookup objects.

This custom version provides the left/right class names to the business object constructor, required for RelationLookup objects.

(non-PHPdoc)

Parameters

$attribute
$value
The value of the attribute to load the objects by.
$start
The start of the SQL LIMIT clause, useful for pagination.
$limit
The amount (limit) of objects to load, useful for pagination.
$orderBy
The name of the field to sort the objects by.
$order
The order to sort the objects by.
$ignoreClassType
Default is false, set to true if you want to load from overloaded tables and ignore the class type.
$constructorArgs
An optional array of contructor arguements to pass to the records that will be generated and returned. Supports a maximum of 5 arguements.

Returns

array
An array containing objects of this type of business object.

Throws

Alpha\Exception\RecordNotFoundException
Alpha\Exception\IllegalArguementException

See

Alpha\Model\ActiveRecord::loadAllByAttribute()

Overrides

Alpha\Model\ActiveRecord::loadAllByAttribute
public array
# loadAllByAttributes( array $attributes = array(), array $values = array(), integer $start = 0, integer $limit = 0, string $orderBy = 'ID', string $order = 'ASC', boolean $ignoreClassType = false )

This custom version provides the left/right class names to the business object constructor, required for RelationLookup objects.

This custom version provides the left/right class names to the business object constructor, required for RelationLookup objects.

(non-PHPdoc)

Parameters

$attributes
The attributes to load the objects by.
$values
The values of the attributes to load the objects by.
$start
The start of the SQL LIMIT clause, useful for pagination.
$limit
The amount (limit) of objects to load, useful for pagination.
$orderBy
The name of the field to sort the objects by.
$order
The order to sort the objects by.
$ignoreClassType
Default is false, set to true if you want to load from overloaded tables and ignore the class type

Returns

array
An array containing objects of this type of business object.

Throws

Alpha\Exception\RecordNotFoundException
Alpha\Exception\IllegalArguementException

See

Alpha\Model\ActiveRecord::loadAllByAttributes()

Overrides

Alpha\Model\ActiveRecord::loadAllByAttributes
public string
# getHelper( )

Getter for the validation helper string.

Getter for the validation helper string.

Returns

string

Since

1.0

Implementation of

Alpha\Model\Type\TypeInterface::getHelper()
public
# setHelper( string $helper )

Set the validation helper text.

Set the validation helper text.

Parameters

$helper

Since

1.0

Implementation of

Alpha\Model\Type\TypeInterface::setHelper()
public integer[]
# getValue( )

Returns an array of the IDs of the related objects.

Returns an array of the IDs of the related objects.

Returns

integer[]

Since

1.0

Implementation of

Alpha\Model\Type\TypeInterface::getValue()
public
# setValue( string[] $IDs )

Used to set the IDs of the related objects. Pass a two-item array of IDs, the first one being the left object ID, the second being the right.

Used to set the IDs of the related objects. Pass a two-item array of IDs, the first one being the left object ID, the second being the right.

Parameters

$IDs

Throws

Alpha\Exception\IllegalArguementException

Since

1.0

Implementation of

Alpha\Model\Type\TypeInterface::setValue()
public string
# __toString( )

Used to convert the object to a printable string.

Used to convert the object to a printable string.

Returns

string

Since

1.0

Implementation of

Alpha\Model\Type\TypeInterface::__toString()

Methods inherited from Alpha\Model\ActiveRecord

__wakeup(), addProperty(), addToCache(), backupDatabase(), begin(), cast(), checkDatabaseExists(), checkRecordExists(), checkRecordTableExists(), checkTableExists(), checkTableNeedsUpdate(), commit(), createDatabase(), createForeignIndex(), createUniqueIndex(), delete(), deleteAllByAttribute(), disconnect(), dropDatabase(), dropTable(), findMissingFields(), get(), getCount(), getCreateTS(), getCreatorId(), getDataLabel(), getDataLabels(), getDefaultAttributes(), getFriendlyClassName(), getHistoryCount(), getID(), getIndexes(), getLastQuery(), getMAX(), getMaintainHistory(), getPersistentAttributes(), getPropObject(), getRecordClassNames(), getTaggedAttributes(), getTransientAttributes(), getUniqueAttributes(), getUpdateTS(), getUpdatorId(), getVersion(), getVersionNumber(), hasAttribute(), isInstalled(), isTableOverloaded(), isTagged(), isTransient(), load(), loadAll(), loadAllByDayUpdated(), loadAllFieldValuesByAttribute(), loadAllOldVersions(), loadByAttribute(), loadClassDef(), loadFromCache(), makeHistoryTable(), makeTable(), markPersistent(), markTransient(), markUnique(), populateFromArray(), query(), rebuildTable(), reload(), removeFromCache(), rollback(), save(), saveAttribute(), saveHistory(), saveRelations(), set(), setDataLabels(), setEnumOptions(), setID(), setLastQuery(), setMaintainHistory(), toArray(), validate()

Properties summary

protected Alpha\Model\Type\Integer $leftID

The ID of the left business object in the relation.

The ID of the left business object in the relation.

Since

1.0
#
protected Alpha\Model\Type\Integer $rightID

The ID of the right business object in the relation.

The ID of the right business object in the relation.

Since

1.0
#
protected array $dataLabels

an array of data display labels for the class properties.

an array of data display labels for the class properties.

Since

1.0
# array('ID' => 'RelationLookup ID#', 'leftID' => 'Left Record ID#', 'rightID' => 'Right Record ID#')
protected string $helper

The message to display to the user when validation fails.

The message to display to the user when validation fails.

Since

1.0
# 'Not a valid RelationLookup value!'

Properties inherited from Alpha\Model\ActiveRecord

$ID, $created_by, $created_ts, $defaultAttributes, $lastQuery, $transientAttributes, $uniqueAttributes, $updated_by, $updated_ts, $version_num

Alpha Framework 3.0.0 API Documentation API documentation generated by ApiGen