From f2033b0f663f469311700e66bfa8ae1a7913dd9b Mon Sep 17 00:00:00 2001 From: Estanislau Trepat Date: Tue, 3 Mar 2015 20:43:45 +0100 Subject: [PATCH 1/2] Maintenance release. --- CHANGELOG.md | 5 +++++ README.md | 7 ++++--- composer.json | 8 ++++---- src/Baum/BaumServiceProvider.php | 2 +- tests/suite/QueryBuilderExtensionTest.php | 2 +- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31c75f32..734b10a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.0.14 +_Mar 3 2014_ +* bug fixes + - Backwards compatible version for Laravel 4.2.x. + ## 1.0.13 _Sep 30 2014_ * bug fixes diff --git a/README.md b/README.md index 361bf08b..9b244596 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,9 @@ [![Build Status](https://travis-ci.org/etrepat/baum.png?branch=master)](https://travis-ci.org/etrepat/baum) -Baum is an implementation of the [Nested Set](http://en.wikipedia.org/wiki/Nested_set_model) -pattern for [Laravel 4's](http://laravel.com/) Eloquent ORM. +Baum is an implementation of the [Nested Set](http://en.wikipedia.org/wiki/Nested_set_model) pattern for [Laravel 4's](http://laravel.com/) Eloquent ORM. + +> For **Laravel 5.x compatibility**, check the [master](https://github.com/etrepat/baum/tree/master) branch or use the latest [1.1.x tagged release](https://github.com/etrepat/baum/releases). ## Documentation @@ -93,7 +94,7 @@ ordinary trees are suddenly quite fast. Nifty, isn't it? ## Installation -Baum works with Laravel 4 onwards. You can add it to your `composer.json` file +Baum works with Laravel 4.2 onwards. You can add it to your `composer.json` file with: "baum/baum": "~1.0" diff --git a/composer.json b/composer.json index 537ed7ff..a0fd8bfd 100644 --- a/composer.json +++ b/composer.json @@ -13,10 +13,10 @@ ], "require": { "php": ">=5.3.0", - "illuminate/support": "4.*|5.*", - "illuminate/console": "4.*|5.*", - "illuminate/filesystem": "4.*|5.*", - "illuminate/database": "4.*|5.*" + "illuminate/support": "4.*", + "illuminate/console": "4.*", + "illuminate/filesystem": "4.*", + "illuminate/database": "4.*" }, "require-dev": { "phpunit/phpunit": "~4.0", diff --git a/src/Baum/BaumServiceProvider.php b/src/Baum/BaumServiceProvider.php index 1f74ee54..81403331 100644 --- a/src/Baum/BaumServiceProvider.php +++ b/src/Baum/BaumServiceProvider.php @@ -14,7 +14,7 @@ class BaumServiceProvider extends ServiceProvider { * * @var string */ - const VERSION = '1.0.13'; + const VERSION = '1.0.14'; /** * Indicates if loading of the provider is deferred. diff --git a/tests/suite/QueryBuilderExtensionTest.php b/tests/suite/QueryBuilderExtensionTest.php index 1acfa64c..0433493f 100644 --- a/tests/suite/QueryBuilderExtensionTest.php +++ b/tests/suite/QueryBuilderExtensionTest.php @@ -32,7 +32,7 @@ public function testAggregatesRemoveOrderBy() { $this->assertEquals(1, $results); $builder = $this->getBuilder(); - $builder->getConnection()->shouldReceive('select')->once()->with('select count(*) as aggregate from "users"', array())->andReturn(array(array('aggregate' => 1))); + $builder->getConnection()->shouldReceive('select')->once()->with('select count(*) as aggregate from "users" limit 1', array())->andReturn(array(array('aggregate' => 1))); $builder->getProcessor()->shouldReceive('processSelect')->once()->andReturnUsing(function($builder, $results) { return $results; }); $results = $builder->from('users')->orderBy('age', 'desc')->exists(); $this->assertTrue($results); From 2e9c9e2c4d975efc80ec86cf7903ce603b0c3f84 Mon Sep 17 00:00:00 2001 From: Estanislau Trepat Date: Wed, 4 Mar 2015 10:27:28 +0100 Subject: [PATCH 2/2] Backport bugfixes from master. --- CHANGELOG.md | 7 ++++++- README.md | 4 ++-- src/Baum/BaumServiceProvider.php | 2 +- src/Baum/Node.php | 3 ++- src/Baum/SetValidator.php | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 734b10a7..277b1db7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ +## 1.0.15 +_Mar 4 2015_ +* bug fixes + - Backport minor bugfixes from master. + ## 1.0.14 -_Mar 3 2014_ +_Mar 3 2015_ * bug fixes - Backwards compatible version for Laravel 4.2.x. diff --git a/README.md b/README.md index 9b244596..4b42b916 100644 --- a/README.md +++ b/README.md @@ -332,7 +332,7 @@ You can ask some questions to your Baum nodes: * `isAncestorOf($other)`: Returns true if node is an ancestor of the other. * `isSelfOrAncestorOf($other)`: Returns true if node is self or an ancestor. * `equals($node)`: current node instance equals the other. -* `insideSubtree($node)`: Checks wether the given node is inside the subtree +* `insideSubtree($node)`: Checks whether the given node is inside the subtree defined by the left and right indices. * `inSameScope($node)`: Returns true if the given node is in the same scope as the current one. That is, if *every* column in the `scoped` property has @@ -475,7 +475,7 @@ Retrieving a complete tree hierarchy into a regular `Collection` object with its children *properly nested* is as simple as: ```php -$tree = Category::where('name', '=', Books)->first()->getDescendantsAndSelf()->toHierarchy(); +$tree = Category::where('name', '=', 'Books')->first()->getDescendantsAndSelf()->toHierarchy(); ``` diff --git a/src/Baum/BaumServiceProvider.php b/src/Baum/BaumServiceProvider.php index 81403331..d6ec960f 100644 --- a/src/Baum/BaumServiceProvider.php +++ b/src/Baum/BaumServiceProvider.php @@ -14,7 +14,7 @@ class BaumServiceProvider extends ServiceProvider { * * @var string */ - const VERSION = '1.0.14'; + const VERSION = '1.0.15'; /** * Indicates if loading of the provider is deferred. diff --git a/src/Baum/Node.php b/src/Baum/Node.php index 1d250524..8dcab130 100644 --- a/src/Baum/Node.php +++ b/src/Baum/Node.php @@ -500,8 +500,9 @@ public function scopeWithoutRoot($query) { public function scopeLimitDepth($query, $limit) { $depth = $this->exists ? $this->getDepth() : $this->getLevel(); $max = $depth + $limit; + $scopes = array($depth, $max); - return $query->whereBetween($this->getDepthColumnName(), array($depth, $max)); + return $query->whereBetween($this->getDepthColumnName(), array(min($scopes), max($scopes))); } /** diff --git a/src/Baum/SetValidator.php b/src/Baum/SetValidator.php index 14002290..10d87640 100644 --- a/src/Baum/SetValidator.php +++ b/src/Baum/SetValidator.php @@ -71,7 +71,7 @@ protected function validateBounds() { $qualifiedRgtCol >= parent.$rgtCol)))"; $query = $this->node->newQuery() - ->join($connection->raw($grammar->wrap($tableName).' AS parent'), + ->join($connection->raw($grammar->wrapTable($tableName).' AS parent'), $parentColumn, '=', $connection->raw('parent.'.$grammar->wrap($primaryKeyName)), 'left outer') ->whereRaw($whereStm);