Class RelationLookup
The RelationLookup complex data type. Used to store object2object lookup
tables for MANY-TO-MANY relationships between business objects
-
AlphaDAO
-
RelationLookup
implements
AlphaTypeInterface
Package: alpha::model::types
Copyright:
Copyright (c) 2014, 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>
Version:
$Id: RelationLookup.inc 1807 2014-07-27 14:06:13Z alphadevx $
Since:
1.0
Located at model/types/RelationLookup.inc
Methods summary
public
|
#
__construct( mixed $leftClassName, mixed $rightClassName )
The constructor
Throws
Since
1.0
Overrides
|
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
Since
1.0
Overrides
|
public
array
|
#
loadAllByAttribute( string $attribute, string $value, integer $start = 0, integer $limit = 0, string $orderBy = "OID", 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
string $atribute The attribute to load the objects by.
- $value
string $value The value of the attribute to load the objects by.
- $start
integer $start The start of the SQL LIMIT clause, useful for pagination.
- $limit
integer $limit The amount (limit) of objects to load, useful for pagination.
- $orderBy
string $orderBy The name of the field to sort the objects by.
- $order
string $order The order to sort the objects by.
- $ignoreClassType
boolean $ignoreClassType Default is false, set to true if you want to load from
overloaded tables and ignore the class type.
- $constructorArgs
array $constructorArgs An optional array of contructor arguements to pass to the BOs
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
See
alpha/model/AlphaDAO::loadAllByAttribute()
Overrides
|
public
array
|
#
loadAllByAttributes( array $attributes = array(), array $values = array(), integer $start = 0, integer $limit = 0, string $orderBy = 'OID', 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
array $atributes The attributes to load the objects by.
- $values
array $values The values of the attributes to load the objects by.
- $start
integer $start The start of the SQL LIMIT clause, useful for pagination.
- $limit
integer $limit The amount (limit) of objects to load, useful for pagination.
- $orderBy
string $orderBy The name of the field to sort the objects by.
- $order
string $order The order to sort the objects by.
- $ignoreClassType
boolean $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
See
alpha/model/AlphaDAO::loadAllByAttributes()
Overrides
|
public
string
|
#
getHelper( )
Getter for the validation helper string
Getter for the validation helper string
Returns
string
Since
1.0
Implementation of
|
public
|
#
setHelper( string $helper )
Set the validation helper text
Set the validation helper text
Parameters
Since
1.0
Implementation of
|
public
array
|
#
getValue( )
Returns an array of the OIDs of the related objects
Returns an array of the OIDs of the related objects
Returns
array
Since
1.0
Implementation of
|
public
|
#
setValue( array $OIDs )
Used to set the OIDs of the related objects. Pass a two-item array of OIDs,
the first one being the left object OID, the second being the right.
Used to set the OIDs of the related objects. Pass a two-item array of OIDs,
the first one being the left object OID, the second being the right.
Parameters
Throws
Since
1.0
Implementation of
|
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
|
Methods inherited from AlphaDAO
__wakeup(),
addProperty(),
addToCache(),
begin(),
cast(),
checkBOTableExists(),
checkClassDefExists(),
checkRecordExists(),
checkTableExists(),
checkTableNeedsUpdate(),
commit(),
createForeignIndex(),
createUniqueIndex(),
delete(),
deleteAllByAttribute(),
disconnect(),
dropTable(),
findMissingFields(),
get(),
getBOClassNames(),
getConnection(),
getCount(),
getCreateTS(),
getCreatorId(),
getDataLabel(),
getDataLabels(),
getDefaultAttributes(),
getFriendlyClassName(),
getHistoryCount(),
getID(),
getIndexes(),
getLastQuery(),
getMAX(),
getMaintainHistory(),
getOID(),
getPersistentAttributes(),
getPropObject(),
getTaggedAttributes(),
getTransientAttributes(),
getUniqueAttributes(),
getUpdateTS(),
getUpdatorId(),
getVersion(),
getVersionNumber(),
hasAttribute(),
isInstalled(),
isTableOverloaded(),
isTagged(),
isTransient(),
load(),
loadAll(),
loadAllByDayUpdated(),
loadAllFieldValuesByAttribute(),
loadByAttribute(),
loadClassDef(),
loadFromCache(),
makeHistoryTable(),
makeTable(),
markPersistent(),
markTransient(),
markUnique(),
populateFromArray(),
populateFromPost(),
query(),
rebuildTable(),
reload(),
removeFromCache(),
rollback(),
save(),
saveAttribute(),
saveHistory(),
set(),
setDataLabels(),
setEnumOptions(),
setLastQuery(),
setMaintainHistory(),
setOID(),
toArray(),
validate()
|
Properties summary
protected
Integer
|
$leftID
|
|
#
The OID of the left business object in the relation
The OID of the left business object in the relation
Since
1.0
|
protected
Integer
|
$rightID
|
|
#
The OID of the right business object in the relation
The OID of the right business object in the relation
Since
1.0
|
private
string
|
$leftClassName
|
|
#
The name of the left business object class in the relation
The name of the left business object class in the relation
Since
1.0
|
private
string
|
$rightClassName
|
|
#
The name of the right business object class in the relation
The name of the right business object class in the relation
Since
1.0
|
private static
Logger
|
$logger
|
null |
|
protected
array
|
$dataLabels
|
array("OID"=>"RelationLookup ID#","leftID"=>"Left BO ID#","rightID"=>"Right BO ID#") |
#
an array of data display labels for the class properties
an array of data display labels for the class properties
Since
1.0
|
protected
string
|
$helper
|
'Not a valid RelationLookup value!' |
#
The message to display to the user when validation fails
The message to display to the user when validation fails
Since
1.0
|