DB_NestedSet::createLeftNode()
DB_NestedSet::createLeftNode()
-- Creates a node before a given node
Synopsis
require_once 'DB/NestedSet.php'; |
mixed
DB_NestedSet::createLeftNode
(int
$id, array
$values, bool
$returnID)
Description
+-- root1
|
+-\ root2
| |
| |-- subnode2 [new]
| |-- subnode1 [target]
| |-- subnode3
|
+-- root3
Parameter
- integer
$id
Target node ID
- array
$values
Hash with param => value pairs of the node (see $this->params)
- boolean
$returnID
Tell the method to return a node id instead of an object.
ATTENTION: That the method defaults to return an object
instead of the node id has been overseen
and is basically a bug. We have to keep this to maintain BC.
You will have to set $returnID to TRUE to make it
behave like the other creation methods.
This flaw will get fixed with the next major version.
Return value
returns
The node id or false on error
Throws
throws
no exceptions thrown
Note
This function can not be called
statically.
Example
Example 39-1. Create left node
Firstly, we connect to NestedSet using Factory. Then we create some nodes and finally we create a LeftNode.
The LeftNode will be placed leftsided to the first root-node.
<?php
require_once('DB/NestedSet.php');
$nestedSet =& DB_NestedSet::factory('DB', $dsn, $params);
$parent = $nestedSet->createRootNode(array('name' => 'root-node'), false, true);
$nestedSet->createSubNode($parent, array('name' => 'sub1'));
$nestedSet->createSubNode($parent, array('name' => 'sub2'));
$nestedSet->createLeftNode($parent, array('name' => 'left node'), true);
?>
|
|