1
0
mirror of synced 2025-03-19 22:43:58 +03:00

Added missing multiple root support for Doctrine_Node_NestedSet::getFirstChild() and

Doctrine_Node_NestedSet::getLastChild()
This commit is contained in:
romanb 2007-02-10 17:58:29 +00:00
parent a0def4808f
commit 18cf2887cf

View File

@ -138,7 +138,9 @@ class Doctrine_Node_NestedSet extends Doctrine_Node implements Doctrine_Node_Int
public function getFirstChild()
{
$q = $this->record->getTable()->createQuery();
$result = $q->where('lft = ?', $this->getLeftValue() + 1)->execute()->getFirst();
$q = $q->where('lft = ?', $this->getLeftValue() + 1);
$q = $this->record->getTable()->getTree()->returnQueryWithRootId($q, $this->getRootValue());
$result = $q->execute()->getFirst();
if(!$result)
$result = $this->record->getTable()->create();
@ -154,7 +156,9 @@ class Doctrine_Node_NestedSet extends Doctrine_Node implements Doctrine_Node_Int
public function getLastChild()
{
$q = $this->record->getTable()->createQuery();
$result = $q->where('rgt = ?', $this->getRightValue() - 1)->execute()->getFirst();
$q = $q->where('rgt = ?', $this->getRightValue() - 1);
$q = $this->record->getTable()->getTree()->returnQueryWithRootId($q, $this->getRootValue());
$result = $q->execute()->getFirst();
if(!$result)
$result = $this->record->getTable()->create();