From 55371b6cb506f378abeb5c255b3fb2cbaea09027 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 5 Oct 2016 16:09:50 +0300 Subject: [PATCH] -Get all children fix --- common/components/artboxtree/ArtboxTreeBehavior.php | 1 + common/modules/product/models/Category.php | 18 +++++++++++++++--- frontend/controllers/CatalogController.php | 1 - frontend/views/layouts/main.php | 4 ++-- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/common/components/artboxtree/ArtboxTreeBehavior.php b/common/components/artboxtree/ArtboxTreeBehavior.php index 5b946c9..4d48d4f 100755 --- a/common/components/artboxtree/ArtboxTreeBehavior.php +++ b/common/components/artboxtree/ArtboxTreeBehavior.php @@ -7,6 +7,7 @@ use yii\base\Exception; use yii\base\NotSupportedException; use yii\db\ActiveRecord; use yii\db\Expression; +use yii\helpers\VarDumper; class ArtboxTreeBehavior extends Behavior { diff --git a/common/modules/product/models/Category.php b/common/modules/product/models/Category.php index 22e5969..6777f9e 100755 --- a/common/modules/product/models/Category.php +++ b/common/modules/product/models/Category.php @@ -297,9 +297,21 @@ class Category extends \yii\db\ActiveRecord public function getChildrenByDepth($depth) { - return $this->getAllChildren($depth)->where([ - 'depth' => $depth, - ])->asArray()->select(['category_id']); +// VarDumper::dump($this->getAllChildren($depth) +// +// ->where([ +// 'depth' => $depth, +// 'parent_id' => $this->getChildrenAL() +// ])->asArray()->select(['category_id'])->createCommand()->rawSql, 10, true); +// + + + return $this->getAllChildren($depth) + + ->where([ + 'depth' => $depth, + 'parent_id' => $this->getChildrenAL()->select('category_id')->column() + ])->asArray()->select(['category_id']); } public function setTaxGroup($value) diff --git a/frontend/controllers/CatalogController.php b/frontend/controllers/CatalogController.php index 6ee760f..e515898 100755 --- a/frontend/controllers/CatalogController.php +++ b/frontend/controllers/CatalogController.php @@ -141,7 +141,6 @@ class CatalogController extends \yii\web\Controller ], ]); - $products = Product::find()->joinWith('categories') ->where([ 'category.category_id' => $category->getChildrenByDepth(2)->column(), diff --git a/frontend/views/layouts/main.php b/frontend/views/layouts/main.php index 2e1bdc6..174043c 100755 --- a/frontend/views/layouts/main.php +++ b/frontend/views/layouts/main.php @@ -86,8 +86,8 @@ $brands = Category::find()
  • Обои
  • Текстиль
  • -- libgit2 0.21.4