all(); return $this->buildTree($items); } private function buildTree($items, $parentId = null) { $tree = []; foreach ($items as $item) { if ($item->parent_id == $parentId) { $children = $this->buildTree($items, $item->id); if ($children) { $item->children = $children; } $tree[] = $item; } } return $tree; } public function getMenuItemsForRole($roleId) { return $this->model->whereHas('roles', function($query) use ($roleId) { $query->where('role_id', $roleId); })->where('status', 1)->get(); } }