/** * Gets the main menu * * @return array */ public static function getMainMenu() { /* @var $folders Collection */ $folders = Folder::with('modules')->orderBy('lft')->get()->filter(function ($e) { return !$e->modules->isEmpty(); }); /* @var $freeModules Collection */ $freeModules = Module::whereNull('folder_id')->orderBy('lft')->get(); return $folders->merge($freeModules); }