Added missing multiple root support to Doctrine_Node_NestedSet::getNextSibling()
and Doctrine_Node_NestedSet::getPrevSibling()
This commit is contained in:
parent
e006ebb056
commit
a0def4808f
@ -79,7 +79,9 @@ class Doctrine_Node_NestedSet extends Doctrine_Node implements Doctrine_Node_Int
|
|||||||
public function getPrevSibling()
|
public function getPrevSibling()
|
||||||
{
|
{
|
||||||
$q = $this->record->getTable()->createQuery();
|
$q = $this->record->getTable()->createQuery();
|
||||||
$result = $q->where('rgt = ?', $this->getLeftValue() - 1)->execute()->getFirst();
|
$q = $q->where('rgt = ?', $this->getLeftValue() - 1);
|
||||||
|
$q = $this->record->getTable()->getTree()->returnQueryWithRootId($q, $this->getRootValue());
|
||||||
|
$result = $q->execute()->getFirst();
|
||||||
|
|
||||||
if(!$result)
|
if(!$result)
|
||||||
$result = $this->record->getTable()->create();
|
$result = $this->record->getTable()->create();
|
||||||
@ -95,7 +97,9 @@ class Doctrine_Node_NestedSet extends Doctrine_Node implements Doctrine_Node_Int
|
|||||||
public function getNextSibling()
|
public function getNextSibling()
|
||||||
{
|
{
|
||||||
$q = $this->record->getTable()->createQuery();
|
$q = $this->record->getTable()->createQuery();
|
||||||
$result = $q->where('lft = ?', $this->getRightValue() + 1)->execute()->getFirst();
|
$q = $q->where('lft = ?', $this->getRightValue() + 1);
|
||||||
|
$q = $this->record->getTable()->getTree()->returnQueryWithRootId($q, $this->getRootValue());
|
||||||
|
$result = $q->execute()->getFirst();
|
||||||
|
|
||||||
if(!$result)
|
if(!$result)
|
||||||
$result = $this->record->getTable()->create();
|
$result = $this->record->getTable()->create();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user