public static function getItemsByCategory($id) { $treeNodes = Tree::getTreesById($id); //category has children if ($treeNodes) { $categories = '('; foreach ($treeNodes as $key => $treeNode) { $categories = $categories . $key . ','; } $categories = substr($categories, 0, strlen($categories) - 1) . ')'; $items = static::find()->where('category_id in ' . $categories); } else { $tree = Tree::findOne(['id' => $id]); if ($tree) { $items = static::find()->where(['category_id' => $tree->id]); } else { return false; } } return $items; }