/** * @param Category $category * @return array * * Gets children of category and its children. */ public function getDescendants($category) { $children = $category->getChildren($category->id); if (!empty($children)) { foreach ($children as $child) { $grandChildren = $this->getDescendants($child); if (!empty($grandChildren)) { $children = array_merge($children, $grandChildren); } } } return $children; }