MenuItem::getParentTreeIterator PHP Method

getParentTreeIterator() public method

public getParentTreeIterator ( integer $parent_id, integer $level = 1 ) : array
$parent_id integer
$level integer
return array
    public function getParentTreeIterator($parent_id = 0, $level = 1)
    {
        $results = $this->findAll(['order' => 'sort', 'condition' => 'parent_id = :parent_id AND id <> :id AND menu_id = :menu_id', 'params' => ['parent_id' => (int) $parent_id, 'id' => (int) $this->id, 'menu_id' => (int) $this->menu_id]]);
        $items = [];
        if (empty($results)) {
            return $items;
        }
        foreach ($results as $result) {
            $childItems = $this->getParentTreeIterator($result->id, $level + 1);
            $items += [$result->id => str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;', $level) . $result->title] + $childItems;
        }
        return $items;
    }