From 927fd8f00953d6dee70abb8ff451bc80e34ff545 Mon Sep 17 00:00:00 2001 From: SlyDeath Date: Tue, 16 May 2017 14:11:42 +0300 Subject: [PATCH 1/3] Fixes the join problem When SQL error "key" is ambiguous --- src/QueryBuilder.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/QueryBuilder.php b/src/QueryBuilder.php index 4baa70a..d629c83 100644 --- a/src/QueryBuilder.php +++ b/src/QueryBuilder.php @@ -86,7 +86,7 @@ public function whereIsRoot() */ public function whereAncestorOf($id, $andSelf = false, $boolean = 'and') { - $keyName = $this->model->getKeyName(); + $keyName = $this->model->getQualifiedKeyName(); if (NestedSet::isNode($id)) { $value = '?'; @@ -108,13 +108,13 @@ public function whereAncestorOf($id, $andSelf = false, $boolean = 'and') $value = '('.$valueQuery->toSql().')'; } - $this->query->whereNested(function ($inner) use ($value, $andSelf, $id) { + $this->query->whereNested(function ($inner) use ($value, $andSelf, $id, $keyName) { list($lft, $rgt) = $this->wrappedColumns(); $inner->whereRaw("{$value} between {$lft} and {$rgt}"); if ( ! $andSelf) { - $inner->where($this->model->getKeyName(), '<>', $id); + $inner->where($keyName, '<>', $id); } }, $boolean); From b0a05e0d687e3435eed8ba42a334657cb8a106db Mon Sep 17 00:00:00 2001 From: SlyDeath Date: Mon, 22 May 2017 11:02:37 +0300 Subject: [PATCH 2/3] Update QueryBuilder.php --- src/QueryBuilder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/QueryBuilder.php b/src/QueryBuilder.php index d629c83..5029767 100644 --- a/src/QueryBuilder.php +++ b/src/QueryBuilder.php @@ -86,7 +86,7 @@ public function whereIsRoot() */ public function whereAncestorOf($id, $andSelf = false, $boolean = 'and') { - $keyName = $this->model->getQualifiedKeyName(); + $keyName = $this->model->getTable() . '.' . $this->model->getKeyName(); if (NestedSet::isNode($id)) { $value = '?'; From 85131b2c984f2ceeb57b9a4175fcb2d782777908 Mon Sep 17 00:00:00 2001 From: SlyDeath Date: Tue, 4 Jul 2017 13:30:18 +0300 Subject: [PATCH 3/3] Update QueryBuilder.php --- src/QueryBuilder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/QueryBuilder.php b/src/QueryBuilder.php index 5029767..d2d2831 100644 --- a/src/QueryBuilder.php +++ b/src/QueryBuilder.php @@ -100,7 +100,7 @@ public function whereAncestorOf($id, $andSelf = false, $boolean = 'and') ->toBase() ->select("_.".$this->model->getRgtName()) ->from($this->model->getTable().' as _') - ->where($keyName, '=', $id) + ->where($this->model->getKeyName(), '=', $id) ->limit(1); $this->query->mergeBindings($valueQuery);