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_Tree_NestedSet

Source Location: /Doctrine/Tree/NestedSet.php

## Class Doctrine_Tree_NestedSet

Class Overview

Implements interfaces: Doctrine_Tree_Interface Doctrine_Tree_NestedSet Located in /Doctrine/Tree/NestedSet.php [line 32]
    Doctrine_Tree
       |
       --Doctrine_Tree_NestedSet
Author(s): Joe Simms <joe.simms@websites4.com> Information Tags:
Version: | $Revision: 2230 $
Link: | www.phpdoctrine.com
Since: | 1.0
License: | LGPL
| Properties $_baseAlias $_baseQuery | Methods __construct createRoot fetchBranch fetchRoot fetchRoots fetchTree findRoot getBaseAlias getBaseQuery getMaxRootId getNextRootId resetBaseQuery returnQueryWithRootId setBaseQuery setTableDefinition _createBaseQuery

[ Top ]
Inherited Properties, Constants, and Methods

Inherited Properties | Inherited Methods | Inherited Constants
--- | --- | ---
Inherited From Doctrine_Tree Doctrine_Tree::$options Doctrine_Tree::$table Doctrine_Tree::$_baseComponent | Inherited From Doctrine_Tree Doctrine_Tree::__construct() constructor, creates tree with reference to table and any options Doctrine_Tree::factory() factory method to return tree instance based upon chosen implementation Doctrine_Tree::getAttribute() gets tree attribute value Doctrine_Tree::getBaseComponent() Returns the base tree component. Doctrine_Tree::setAttribute() sets tree attribute value Doctrine_Tree::setTableDefinition() Used to define table attributes required for the given implementation Doctrine_Tree::setUp() this method is used for setting up relations and attributes and should be used by specific implementations |

[ Top ]
Property Summary

mixed | $_baseAlias |
mixed | $_baseQuery |

[ Top ]
Method Summary

Doctrine_Tree_NestedSet | __construct() | constructor, creates tree with reference to table and sets default root options
void | createRoot() | creates root node from given record or from a new record
mixed | fetchBranch() | Fetches a branch of a tree.
void | fetchRoot() | Fetches a/the root node.
mixed | fetchRoots() | Fetches all root nodes. If the tree has only one root this is the same as fetchRoot().
mixed | fetchTree() | Fetches a tree.
object | findRoot() | returns root node
void | getBaseAlias() | Enter description here...
unknown | getBaseQuery() | Enter description here...
integer | getMaxRootId() | calculates the current max root id
integer | getNextRootId() | calculates the next available root id
void | resetBaseQuery() | Enter description here...
object Doctrine_Query | returnQueryWithRootId() | returns parsed query with root id where clause added if applicable
void | setBaseQuery() | Enter description here...
void | setTableDefinition() | used to define table attributes required for the NestetSet implementation
void | _createBaseQuery() | Enter description here...

[ Top ]
Properties
mixed $_baseAlias = "base" [line 35]
API Tags:

Access: | private

[ Top ]
mixed $_baseQuery [line 34]
API Tags:

Access: | private

[ Top ]
Methods
Constructor __construct [line 43]

`Doctrine_Tree_NestedSet __construct( Doctrine_Table $table, array $options )`

constructor, creates tree with reference to table and sets default root options

Parameters:

object | $table: | instance of Doctrine_Table
array | $options: | options

API Tags:

Access: | public

Redefinition of:

Doctrine_Tree::__construct()
  constructor, creates tree with reference to table and any options

[ Top ]
createRoot [line 74]

`void createRoot( [Doctrine_Record $record = null] )`

creates root node from given record or from a new record

Parameters:

object | $record: | instance of Doctrine_Record

API Tags:

Access: | public

Implementation of:

Doctrine_Tree_Interface::createRoot()
  creates root node from given record or from a new record

[ Top ]
fetchBranch [line 176]

`mixed fetchBranch( mixed $pk, [array $options = array()] )`

Fetches a branch of a tree.

Parameters:

mixed | $pk: | primary key as used by table::find() to locate node to traverse tree from
array | $options: | Options.

API Tags:

Return: | The branch or FALSE if the branch could not be found.
Access: | public

Information Tags:

Todo: | Only fetch the lft and rgt values of the initial record. more is not needed.

Implementation of:

Doctrine_Tree_Interface::fetchBranch()
  optimised method that returns iterator for traversal of the tree from the given record primary key

[ Top ]
fetchRoot [line 110]

`void fetchRoot( [integer $rootId = 1] )`

Fetches a/the root node.

Parameters:

integer | $rootId: |

API Tags:

Access: | public

[ Top ]
fetchRoots [line 199]

`mixed fetchRoots( )`

Fetches all root nodes. If the tree has only one root this is the same as fetchRoot().

API Tags:

Return: | The root nodes.
Access: | public

[ Top ]
fetchTree [line 142]

`mixed fetchTree( [array $options = array()] )`

Fetches a tree.

Parameters:

array | $options: | Options

API Tags:

Return: | The tree or FALSE if the tree could not be found.
Access: | public

Implementation of:

Doctrine_Tree_Interface::fetchTree()
  optimised method to returns iterator for traversal of the entire tree from root

[ Top ]
findRoot [line 100]

`object findRoot( [ $rootId = 1] )`

returns root node

Parameters:

| $rootId: |

API Tags:

Return: | instance of Doctrine_Record
Deprecated: | Use fetchRoot()
Access: | public

Implementation of:

Doctrine_Tree_Interface::findRoot()
  returns root node

[ Top ]
getBaseAlias [line 279]

`void getBaseAlias( )`

Enter description here...

API Tags:

Access: | public

[ Top ]
getBaseQuery [line 267]

`unknown getBaseQuery( array $options )`

Enter description here...

Parameters:

array | $options: |

API Tags:

Access: | public

[ Top ]
getMaxRootId [line 221]

`integer getMaxRootId( )`

calculates the current max root id

API Tags:

Access: | public

[ Top ]
getNextRootId [line 211]

`integer getNextRootId( )`

calculates the next available root id

API Tags:

Access: | public

[ Top ]
resetBaseQuery [line 315]

`void resetBaseQuery( )`

Enter description here...

API Tags:

Access: | public

[ Top ]
returnQueryWithRootId [line 247]

`object Doctrine_Query returnQueryWithRootId( object $query, [ $rootId = 1], integer $root_id )`

returns parsed query with root id where clause added if applicable

Parameters:

object | $query: | Doctrine_Query
integer | $root_id: | id of destination root
| $rootId: |

API Tags:

Access: | public

[ Top ]
setBaseQuery [line 301]

`void setBaseQuery( Doctrine_Query $query )`

Enter description here...

Parameters:

Doctrine_Query | $query: |

API Tags:

Access: | public

[ Top ]
setTableDefinition [line 58]

`void setTableDefinition( )`

used to define table attributes required for the NestetSet implementation

adds lft and rgt columns for corresponding left and right values

API Tags:

Access: | public

Redefinition of:

Doctrine_Tree::setTableDefinition()
  Used to define table attributes required for the given implementation

[ Top ]
_createBaseQuery [line 288]

`void _createBaseQuery( )`

Enter description here...

API Tags:

Access: | private

[ Top ]