Encore\Admin\Auth\Database\Menu::toTree PHP Method

toTree() public static method

Format data to tree like array.
public static toTree ( array $elements = [], integer $parentId ) : array
$elements array
$parentId integer
return array
    public static function toTree(array $elements = [], $parentId = 0)
    {
        $branch = [];
        if (empty($elements)) {
            $elements = static::with('roles')->orderByRaw('`order` = 0,`order`')->get()->toArray();
        }
        foreach ($elements as $element) {
            if ($element['parent_id'] == $parentId) {
                $children = static::toTree($elements, $element['id']);
                if ($children) {
                    $element['children'] = $children;
                }
                $branch[] = $element;
            }
        }
        return $branch;
    }

Usage Example

Beispiel #1
0
 /**
  * Left sider-bar menu.
  *
  * @return array
  */
 public function menu()
 {
     return Menu::toTree();
 }