Classes:
Doctrine
Doctrine_Access
Doctrine_Adapter
Doctrine_Adapter_Db2_Exception
Doctrine_Adapter_Exception
Doctrine_Adapter_Statement
Doctrine_AuditLog
Doctrine_AuditLog_Listener
Doctrine_Collection
Doctrine_Collection_Exception
Doctrine_Collection_Iterator
Doctrine_Collection_Iterator_Expandable
Doctrine_Collection_Iterator_Normal
Doctrine_Collection_Iterator_Offset
Doctrine_Collection_Offset
Doctrine_Column
Doctrine_Compiler
Doctrine_Compiler_Exception
Doctrine_Configurable
Doctrine_Connection
Doctrine_Connection_Common
Doctrine_Connection_Db2
Doctrine_Connection_Exception
Doctrine_Connection_Firebird
Doctrine_Connection_Firebird_Exception
Doctrine_Connection_Informix
Doctrine_Connection_Informix_Exception
Doctrine_Connection_Mock
Doctrine_Connection_Module
Doctrine_Connection_Mssql
Doctrine_Connection_Mssql_Exception
Doctrine_Connection_Mysql
Doctrine_Connection_Mysql_Exception
Doctrine_Connection_Oracle
Doctrine_Connection_Oracle_Exception
Doctrine_Connection_Pgsql
Doctrine_Connection_Pgsql_Exception
Doctrine_Connection_Profiler
Doctrine_Connection_Profiler_Exception
Doctrine_Connection_Sqlite
Doctrine_Connection_Sqlite_Exception
Doctrine_Connection_Statement
Doctrine_Connection_UnitOfWork
Doctrine_DataDict
Doctrine_DataDict_Exception
Doctrine_DataDict_Informix
Doctrine_DataType
Doctrine_Db
Doctrine_Event
Doctrine_EventListener
Doctrine_EventListener_Chain
Doctrine_EventListener_Exception
Doctrine_Exception
Doctrine_Export
Doctrine_Export_Exception
Doctrine_Export_Firebird
Doctrine_Export_Frontbase
Doctrine_Export_Mssql
Doctrine_Export_Mysql
Doctrine_Export_Oracle
Doctrine_Export_Pgsql
Doctrine_Export_Reporter
Doctrine_Export_Schema
Doctrine_Export_Schema_Xml
Doctrine_Export_Schema_Yml
Doctrine_Export_Sqlite
Doctrine_Expression
Doctrine_Expression_Driver
Doctrine_Expression_Exception
Doctrine_Expression_Firebird
Doctrine_Expression_Informix
Doctrine_Expression_Mock
Doctrine_Expression_Mssql
Doctrine_Expression_Mysql
Doctrine_Expression_Oracle
Doctrine_Expression_Pgsql
Doctrine_Expression_Sqlite
Doctrine_File
Doctrine_File_Index
Doctrine_Formatter
Doctrine_Hook
Doctrine_Hook_Equal
Doctrine_Hook_Integer
Doctrine_Hook_Parser
Doctrine_Hook_Parser_Complex
Doctrine_Hook_WordLike
Doctrine_Hydrate
Doctrine_Hydrate_Array
Doctrine_Hydrate_Exception
Doctrine_Hydrate_Record
Doctrine_Import
Doctrine_Import_Builder
Doctrine_Import_Builder_BaseClass
Doctrine_Import_Builder_Exception
Doctrine_Import_Exception
Doctrine_Import_Firebird
Doctrine_Import_Informix
Doctrine_Import_Mssql
Doctrine_Import_Mysql
Doctrine_Import_Oracle
Doctrine_Import_Pgsql
Doctrine_Import_Reader
Doctrine_Import_Reader_Db
Doctrine_Import_Reader_Exception
Doctrine_Import_Reader_Xml_Propel
Doctrine_Import_Schema
Doctrine_Import_Schema_Xml
Doctrine_Import_Schema_Yml
Doctrine_Import_Sqlite
Doctrine_IntegrityMapper
Doctrine_Lib
Doctrine_Locking_Exception
Doctrine_Locking_Manager_Pessimistic
Doctrine_Manager
Doctrine_Manager_Exception
Doctrine_Node
Doctrine_Node_AdjacencyList
Doctrine_Node_AdjacencyList_LevelOrderIterator
Doctrine_Node_AdjacencyList_PostOrderIterator
Doctrine_Node_AdjacencyList_PreOrderIterator
Doctrine_Node_Exception
Doctrine_Node_MaterializedPath
Doctrine_Node_MaterializedPath_LevelOrderIterator
Doctrine_Node_MaterializedPath_PostOrderIterator
Doctrine_Node_MaterializedPath_PreOrderIterator
Doctrine_Node_NestedSet
Doctrine_Node_NestedSet_LevelOrderIterator
Doctrine_Node_NestedSet_PostOrderIterator
Doctrine_Node_NestedSet_PreOrderIterator
Doctrine_Null
Doctrine_Object
Doctrine_Plugin
Doctrine_Query
Doctrine_Query_Abstract
Doctrine_Query_Check
Doctrine_Query_Condition
Doctrine_Query_Exception
Doctrine_Query_Filter
Doctrine_Query_Filter_Chain
Doctrine_Query_From
Doctrine_Query_Groupby
Doctrine_Query_Having
Doctrine_Query_JoinCondition
Doctrine_Query_Limit
Doctrine_Query_Offset
Doctrine_Query_Orderby
Doctrine_Query_Parser
Doctrine_Query_Part
Doctrine_Query_Select
Doctrine_Query_Set
Doctrine_Query_Where
Doctrine_RawSql
Doctrine_RawSql_Exception
Doctrine_Record
Doctrine_Record_Abstract
Doctrine_Record_Exception
Doctrine_Record_Filter
Doctrine_Record_Iterator
Doctrine_Record_Listener
Doctrine_Record_Listener_Chain
Doctrine_Record_State_Exception
Doctrine_Relation
Doctrine_Relation_Association
Doctrine_Relation_Association_Self
Doctrine_Relation_Exception
Doctrine_Relation_ForeignKey
Doctrine_Relation_LocalKey
Doctrine_Relation_Nest
Doctrine_Relation_Parser
Doctrine_Relation_Parser_Exception
Doctrine_Schema
Doctrine_Schema_Column
Doctrine_Schema_Database
Doctrine_Schema_Exception
Doctrine_Schema_Object
Doctrine_Schema_Relation
Doctrine_Schema_Table
Doctrine_Search
Doctrine_Search_Analyzer
Doctrine_Search_Analyzer_Exception
Doctrine_Search_Analyzer_Standard
Doctrine_Search_Exception
Doctrine_Search_Indexer
Doctrine_Search_Indexer_Dir
Doctrine_Search_Indexer_Exception
Doctrine_Search_Listener
Doctrine_Search_Parser
Doctrine_Search_Query
Doctrine_Search_Record
Doctrine_Search_Scorer
Doctrine_Search_Template
Doctrine_Sequence
Doctrine_Sequence_Db2
Doctrine_Sequence_Exception
Doctrine_Sequence_Firebird
Doctrine_Sequence_Informix
Doctrine_Sequence_Mssql
Doctrine_Sequence_Mysql
Doctrine_Sequence_Oracle
Doctrine_Sequence_Pgsql
Doctrine_Sequence_Sqlite
Doctrine_Table
Doctrine_Table_Exception
Doctrine_Table_Repository
Doctrine_Table_Repository_Exception
Doctrine_Template
Doctrine_Template_NestedSet
Doctrine_Template_Searchable
Doctrine_Template_Taggable
Doctrine_Template_Versionable
Doctrine_Tokenizer
Doctrine_Transaction
Doctrine_Transaction_Exception
Doctrine_Transaction_Firebird
Doctrine_Transaction_Informix
Doctrine_Transaction_Mock
Doctrine_Transaction_Mssql
Doctrine_Transaction_Mysql
Doctrine_Transaction_Oracle
Doctrine_Transaction_Pgsql
Doctrine_Transaction_Sqlite
Doctrine_Tree
Doctrine_Tree_AdjacencyList
Doctrine_Tree_Exception
Doctrine_Tree_MaterializedPath
Doctrine_Tree_NestedSet
Doctrine_Util
Doctrine_Validator
Doctrine_Validator_Country
Doctrine_Validator_Creditcard
Doctrine_Validator_Date
Doctrine_Validator_Email
Doctrine_Validator_Enum
Doctrine_Validator_ErrorStack
Doctrine_Validator_Exception
Doctrine_Validator_HtmlColor
Doctrine_Validator_Ip
Doctrine_Validator_Minlength
Doctrine_Validator_Nospace
Doctrine_Validator_Notblank
Doctrine_Validator_Notnull
Doctrine_Validator_Range
Doctrine_Validator_Regexp
Doctrine_Validator_Unique
Doctrine_Validator_Unsigned
Doctrine_Validator_Usstate
Doctrine_View
Doctrine_View_Exception
Doctrine_Cache
Doctrine_Cache
Doctrine_Cache_Apc
Doctrine_Cache_Array
Doctrine_Cache_Db
Doctrine_Cache_Driver
Doctrine_Cache_Exception
Doctrine_Cache_Memcache
Doctrine_Adapter
Doctrine_Adapter_Db2
Doctrine_Adapter_Mock
Doctrine_Adapter_Mysqli
Doctrine_Adapter_Oracle
Doctrine_Adapter_Statement_Mock
Doctrine_DataDict
Doctrine_DataDict_Firebird
Doctrine_DataDict_Mssql
Doctrine_DataDict_Mysql
Doctrine_DataDict_Oracle
Doctrine_DataDict_Pgsql
Doctrine_DataDict_Sqlite

# Class: Doctrine_Relation

Source Location: /Doctrine/Relation.php

## Class Doctrine_Relation

Class Overview

Implements interfaces: ArrayAccess (internal interface) Doctrine_Relation This class represents a relation between components Located in /Doctrine/Relation.php [line 33]
Author(s): Konsta Vesterinen <kvesteri@cc.hut.fi> API Tags:
Abstract: |
Information Tags:
Version: | $Revision: 1973 $
Link: | www.phpdoctrine.com
Since: | 1.0
License: | LGPL
| Properties $definition | Methods __construct fetchRelatedFor getAlias getForeign getLocal getRelationDql getTable getType hasConstraint isComposite isDeferrable isDeferred isEqual isOneToOne offsetExists offsetGet offsetSet offsetUnset toArray __toString

[ Top ]
Direct descendents

Child Class | Description
--- | ---
Doctrine_Relation_Association | Doctrine_Relation_Association this class takes care of association mapping (= many-to-many relationships, where the relationship is handled with an additional relational table which holds 2 foreign keys)
Doctrine_Relation_ForeignKey | Doctrine_Relation_ForeignKey This class represents a foreign key relation
Doctrine_Relation_LocalKey | Doctrine_Relation_LocalKey This class represents a local key relation

[ Top ]
Constant Summary

MANY |
MANY_AGGREGATE | constant for MANY_TO_MANY and ONE_TO_MANY aggregate relationships
MANY_COMPOSITE | constant for MANY_TO_MANY and ONE_TO_MANY composite relationships
ONE |
ONE_AGGREGATE | constant for ONE_TO_ONE and MANY_TO_ONE aggregate relationships
ONE_COMPOSITE | constant for ONE_TO_ONE and MANY_TO_ONE composite relationships

[ Top ]
Property Summary

mixed | $definition |

[ Top ]
Method Summary

Doctrine_Relation | __construct() | constructor
Doctrine_Record|Doctrine_Collection | fetchRelatedFor() | fetchRelatedFor
string | getAlias() | getAlias returns the relation alias
string | getForeign() | getForeign returns the name of the foreignkey column where the localkey column is pointing at
string | getLocal() | getLocal returns the name of the local column
string | getRelationDql() | getRelationDql
object Doctrine_Table | getTable() | getTable returns the foreign table object
integer | getType() | getType returns the relation type, either 0 or 1
boolean | hasConstraint() | hasConstraint whether or not this relation has an explicit constraint
boolean | isComposite() | isComposite returns whether or not this relation is a composite relation
void | isDeferrable() |
void | isDeferred() |
void | isEqual() |
boolean | isOneToOne() | isOneToOne returns whether or not this relation is a one-to-one relation
void | offsetExists() |
void | offsetGet() |
void | offsetSet() |
void | offsetUnset() |
array | toArray() | toArray
string | __toString() | __toString

[ Top ]
Properties
mixed $definition = array('alias' => true,
'foreign' => true,
'local' => true,
'class' => true,
'type' => true,
'table' => true,
'name' => false,
'refTable' => false,
'onDelete' => false,
'onUpdate' => false,
'deferred' => false,
'deferrable' => false,
'constraint' => false,
'equal' => false,
) [line 59]
API Tags:

Access: | protected

[ Top ]
Methods
Constructor __construct [line 119]

`Doctrine_Relation __construct( $definition )`

constructor

Parameters:

array | $definition: | an associative array with the following structure: name foreign key constraint name local the local field(s) foreign the foreign reference field(s) table the foreign table object refTable the reference table object (if any) onDelete referential delete action onUpdate referential update action deferred deferred constraint checking alias relation alias type the relation type, either Doctrine_Relation::ONE or Doctrine_Relation::MANY constraint boolean value, true if the relation has an explicit referential integrity constraint The onDelete and onUpdate keys accept the following values: CASCADE: Delete or update the row from the parent table and automatically delete or update the matching rows in the child table. Both ON DELETE CASCADE and ON UPDATE CASCADE are supported. Between two tables, you should not define several ON UPDATE CASCADE clauses that act on the same column in the parent table or in the child table. SET NULL: Delete or update the row from the parent table and set the foreign key column or columns in the child table to NULL. This is valid only if the foreign key columns do not have the NOT NULL qualifier specified. Both ON DELETE SET NULL and ON UPDATE SET NULL clauses are supported. NO ACTION: In standard SQL, NO ACTION means no action in the sense that an attempt to delete or update a primary key value is not allowed to proceed if there is a related foreign key value in the referenced table. RESTRICT: Rejects the delete or update operation for the parent table. NO ACTION and RESTRICT are the same as omitting the ON DELETE or ON UPDATE clause. SET DEFAULT

API Tags:

Access: | public

[ Top ]
fetchRelatedFor [line 295]

`Doctrine_Record|Doctrine_Collection fetchRelatedFor( Doctrine_Record $record )`

fetchRelatedFor

fetches a component related to given record

Parameters:

Doctrine_Record | $record: |

API Tags:

Abstract: |
Access: | public

Redefined in descendants as:

- Doctrine_Relation_Association::fetchRelatedFor() : fetchRelatedFor
- Doctrine_Relation_Association_Self::fetchRelatedFor()
- Doctrine_Relation_Nest::fetchRelatedFor()
- Doctrine_Relation_ForeignKey::fetchRelatedFor() : fetchRelatedFor
- Doctrine_Relation_LocalKey::fetchRelatedFor() : fetchRelatedFor

[ Top ]
getAlias [line 201]

`string getAlias( )`

getAlias returns the relation alias

API Tags:

Access: | public

[ Top ]
getForeign [line 245]

`string getForeign( )`

getForeign returns the name of the foreignkey column where the localkey column is pointing at

API Tags:

Access: | public

[ Top ]
getLocal [line 234]

`string getLocal( )`

getLocal returns the name of the local column

API Tags:

Access: | public

[ Top ]
getRelationDql [line 277]

`string getRelationDql( integer $count )`

getRelationDql

Parameters:

integer | $count: |

API Tags:

Access: | public

Redefined in descendants as:

- Doctrine_Relation_Association::getRelationDql() : getRelationDql
- Doctrine_Relation_Association_Self::getRelationDql() : getRelationDql
- Doctrine_Relation_Nest::getRelationDql() : getRelationDql

[ Top ]
getTable [line 222]

`object Doctrine_Table getTable( )`

getTable returns the foreign table object

API Tags:

Access: | public

[ Top ]
getType [line 212]

`integer getType( )`

getType returns the relation type, either 0 or 1

API Tags:

See: | Doctrine_Relation MANY_* and ONE_* constants
Access: | public

[ Top ]
hasConstraint [line 141]

`boolean hasConstraint( )`

hasConstraint whether or not this relation has an explicit constraint

API Tags:

Access: | public

[ Top ]
isComposite [line 255]

`boolean isComposite( )`

isComposite returns whether or not this relation is a composite relation

API Tags:

Access: | public

[ Top ]
isDeferrable [line 152]

`void isDeferrable( )`

API Tags:

Access: | public

[ Top ]
isDeferred [line 147]

`void isDeferred( )`

API Tags:

Access: | public

[ Top ]
isEqual [line 156]

`void isEqual( )`

API Tags:

Access: | public

[ Top ]
isOneToOne [line 266]

`boolean isOneToOne( )`

isOneToOne returns whether or not this relation is a one-to-one relation

API Tags:

Access: | public

[ Top ]
offsetExists [line 161]

`void offsetExists( $offset )`

Parameters:

| $offset: |

API Tags:

Access: | public

Implementation of:

ArrayAccess::offsetExists

[ Top ]
offsetGet [line 166]

`void offsetGet( $offset )`

Parameters:

| $offset: |

API Tags:

Access: | public

Implementation of:

ArrayAccess::offsetGet

[ Top ]
offsetSet [line 175]

`void offsetSet( $offset, $value )`

Parameters:

| $offset: |
| $value: |

API Tags:

Access: | public

Implementation of:

ArrayAccess::offsetSet

[ Top ]
offsetUnset [line 182]

`void offsetUnset( $offset )`

Parameters:

| $offset: |

API Tags:

Access: | public

Implementation of:

ArrayAccess::offsetUnset

[ Top ]
toArray [line 191]

`array toArray( )`

toArray

API Tags:

Access: | public

[ Top ]
__toString [line 301]

`string __toString( )`

__toString

API Tags:

Access: | public

[ Top ]
Constants
MANY = 2 [line 57]
[ Top ]
MANY_AGGREGATE = 2 [line 50]

constant for MANY_TO_MANY and ONE_TO_MANY aggregate relationships

[ Top ]
MANY_COMPOSITE = 3 [line 54]

constant for MANY_TO_MANY and ONE_TO_MANY composite relationships

[ Top ]
ONE = 0 [line 56]
[ Top ]
ONE_AGGREGATE = 0 [line 42]

constant for ONE_TO_ONE and MANY_TO_ONE aggregate relationships

[ Top ]
ONE_COMPOSITE = 1 [line 46]

constant for ONE_TO_ONE and MANY_TO_ONE composite relationships

[ Top ]