1
0
Fork 0
mirror of https://github.com/Oreolek/yii2-nested-sets.git synced 2024-06-26 03:30:46 +03:00

NestedSetsBehavior::ancestors renamed to NestedSetsBehavior::parents, NestedSetsBehavior::parent removed

This commit is contained in:
Alexander Kochetov 2015-01-03 19:08:28 +03:00
parent 87ffc3f87d
commit 8e03bd8d70
4 changed files with 7 additions and 36 deletions

View file

@ -238,7 +238,7 @@ class NestedSetsBehavior extends Behavior
* @param integer $depth the depth * @param integer $depth the depth
* @return \yii\db\ActiveQuery * @return \yii\db\ActiveQuery
*/ */
public function ancestors($depth = null) public function parents($depth = null)
{ {
$query = $this->owner->find(); $query = $this->owner->find();
@ -259,27 +259,6 @@ class NestedSetsBehavior extends Behavior
return $query->andWhere($condition)->addOrderBy([$this->leftAttribute => SORT_ASC]); return $query->andWhere($condition)->addOrderBy([$this->leftAttribute => SORT_ASC]);
} }
/**
* Gets the parent of the node.
* @return \yii\db\ActiveQuery
*/
public function parent()
{
$query = $this->owner->find();
$condition = [
'and',
['<', $this->leftAttribute, $this->owner->getAttribute($this->leftAttribute)],
['>', $this->rightAttribute, $this->owner->getAttribute($this->rightAttribute)],
];
if ($this->treeAttribute !== false) {
$condition[] = [$this->treeAttribute => $this->owner->getAttribute($this->treeAttribute)];
}
return $query->andWhere($condition)->addOrderBy([$this->rightAttribute => SORT_ASC]);
}
/** /**
* Gets the previous sibling of the node. * Gets the previous sibling of the node.
* @return \yii\db\ActiveQuery * @return \yii\db\ActiveQuery

View file

@ -872,37 +872,29 @@ class NestedSetsBehaviorTest extends DatabaseTestCase
} }
/** /**
* @covers \creocoder\nestedsets\NestedSetsBehavior::ancestors * @covers \creocoder\nestedsets\NestedSetsBehavior::parents
*/ */
public function testAncestors() public function testParents()
{ {
$dataSet = $this->createFlatXMLDataSet(__DIR__ . '/datasets/tree.xml'); $dataSet = $this->createFlatXMLDataSet(__DIR__ . '/datasets/tree.xml');
$this->getDatabaseTester()->setDataSet($dataSet); $this->getDatabaseTester()->setDataSet($dataSet);
$this->getDatabaseTester()->onSetUp(); $this->getDatabaseTester()->onSetUp();
$node = Tree::findOne(11); $node = Tree::findOne(11);
$models = $node->ancestors()->all(); $models = $node->parents()->all();
$dataSet = new ArrayDataSet(['tree' => ArrayHelper::toArray($models)]); $dataSet = new ArrayDataSet(['tree' => ArrayHelper::toArray($models)]);
$expectedDataSet = $this->createFlatXMLDataSet(__DIR__ . '/datasets/tree-after-ancestors.xml'); $expectedDataSet = $this->createFlatXMLDataSet(__DIR__ . '/datasets/tree-after-parents.xml');
$this->assertDataSetsEqual($expectedDataSet, $dataSet); $this->assertDataSetsEqual($expectedDataSet, $dataSet);
$dataSet = $this->createFlatXMLDataSet(__DIR__ . '/datasets/multiple-roots-tree.xml'); $dataSet = $this->createFlatXMLDataSet(__DIR__ . '/datasets/multiple-roots-tree.xml');
$this->getDatabaseTester()->setDataSet($dataSet); $this->getDatabaseTester()->setDataSet($dataSet);
$this->getDatabaseTester()->onSetUp(); $this->getDatabaseTester()->onSetUp();
$node = MultipleRootsTree::findOne(33); $node = MultipleRootsTree::findOne(33);
$models = $node->ancestors()->all(); $models = $node->parents()->all();
$dataSet = new ArrayDataSet(['multiple_roots_tree' => ArrayHelper::toArray($models)]); $dataSet = new ArrayDataSet(['multiple_roots_tree' => ArrayHelper::toArray($models)]);
$expectedDataSet = $this->createFlatXMLDataSet(__DIR__ . '/datasets/multiple-roots-tree-after-ancestors.xml'); $expectedDataSet = $this->createFlatXMLDataSet(__DIR__ . '/datasets/multiple-roots-tree-after-parents.xml');
$this->assertDataSetsEqual($expectedDataSet, $dataSet); $this->assertDataSetsEqual($expectedDataSet, $dataSet);
} }
/**
* @covers \creocoder\nestedsets\NestedSetsBehavior::parent
*/
public function testParent()
{
$this->markTestSkipped();
}
/** /**
* @covers \creocoder\nestedsets\NestedSetsBehavior::prev * @covers \creocoder\nestedsets\NestedSetsBehavior::prev
*/ */