{"id":15561121,"url":"https://github.com/balajidharma/laravel-menu","last_synced_at":"2026-05-15T01:15:27.156Z","repository":{"id":65189787,"uuid":"586677265","full_name":"balajidharma/laravel-menu","owner":"balajidharma","description":"Laravel Menu - Create database based Menu and Menu items to your Laravel projects","archived":false,"fork":false,"pushed_at":"2025-03-01T15:33:44.000Z","size":26,"stargazers_count":16,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"2.x","last_synced_at":"2025-04-23T21:48:30.695Z","etag":null,"topics":["admin-panel","database-menus","laravel","laravel-database-based-menu","laravel-framework","laravel-menu","laravel-package","menu","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/balajidharma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-09T00:04:44.000Z","updated_at":"2025-04-09T10:23:39.000Z","dependencies_parsed_at":"2024-02-18T19:27:05.536Z","dependency_job_id":"fd982a79-eb17-4081-b135-63cbe878c6a7","html_url":"https://github.com/balajidharma/laravel-menu","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"8ca922665e011423f86d23ccef604223556d82e1"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balajidharma%2Flaravel-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balajidharma%2Flaravel-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balajidharma%2Flaravel-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balajidharma%2Flaravel-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/balajidharma","download_url":"https://codeload.github.com/balajidharma/laravel-menu/tar.gz/refs/heads/2.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250522295,"owners_count":21444510,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin-panel","database-menus","laravel","laravel-database-based-menu","laravel-framework","laravel-menu","laravel-package","menu","php"],"created_at":"2024-10-02T16:05:37.630Z","updated_at":"2026-05-15T01:15:27.071Z","avatar_url":"https://github.com/balajidharma.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eLaravel Menu\u003c/h1\u003e\n\u003ch3 align=\"center\"\u003eCreate database based Menu and Menu items to your Laravel projects.\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://packagist.org/packages/balajidharma/laravel-menu\"\u003e\u003cimg src=\"https://poser.pugx.org/balajidharma/laravel-menu/downloads\" alt=\"Total Downloads\"\u003e\u003c/a\u003e\n\u003ca href=\"https://packagist.org/packages/balajidharma/laravel-menu\"\u003e\u003cimg src=\"https://poser.pugx.org/balajidharma/laravel-menu/v/stable\" alt=\"Latest Stable Version\"\u003e\u003c/a\u003e\n\u003ca href=\"https://packagist.org/packages/balajidharma/laravel-menu\"\u003e\u003cimg src=\"https://poser.pugx.org/balajidharma/laravel-menu/license\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Demo](#demo)\n- [Create Menu](#create-menu)\n- [Create Menu Item](#create-menu-item)\n- [Create multiple Menu Items](#create-multiple-menu-items)\n- [Menu Tree](#menu-tree)\n- [Menu Link Tokens](#menu-link-tokens)\n\n## Installation\n- Install the package via composer\n```bash\ncomposer require balajidharma/laravel-menu\n```\n- Publish the migration and the config/menu.php config file with\n```bash\nphp artisan vendor:publish --provider=\"BalajiDharma\\LaravelMenu\\MenuServiceProvider\"\n```\n- Run the migrations\n```bash\nphp artisan migrate\n```\n\n## Demo\nThe \"[Basic Laravel Admin Penel](https://github.com/balajidharma/basic-laravel-admin-panel)\" starter kit come with Laravel Menu\n\n## Create Menu\n```php\n\nuse BalajiDharma\\LaravelMenu\\Models\\Menu;\n\nMenu::create([\n    'name' =\u003e 'Main Menu',\n    'machine_name' =\u003e 'main_menu',\n    'description' =\u003e 'Site main menu',\n]);\n```\n\n## Create Menu Item\n```php\n\nuse BalajiDharma\\LaravelMenu\\Models\\Menu;\nuse BalajiDharma\\LaravelMenu\\Models\\MenuItem;\n\n$menu = Menu::create([\n    'name' =\u003e 'Main Menu',\n    'machine_name' =\u003e 'main_menu',\n    'description' =\u003e 'Site main menu'\n]);\n\n$menu-\u003emenuItems()-\u003ecreate([\n    'name' =\u003e 'Home',\n    'uri' =\u003e '/',\n    'enabled' =\u003e 1,\n    'parent_id' =\u003e null,\n    'weight' =\u003e 0\n]);\n\n```\n\n## Create multiple Menu Items\n```php\n$menu = Menu::create([\n    'name' =\u003e 'Admin',\n    'machine_name' =\u003e 'admin',\n    'description' =\u003e 'Admin Menu',\n]);\n\n$menu_items = [\n    [\n        'name'      =\u003e 'Dashboard',\n        'uri'       =\u003e '/dashboard',\n        'enabled'   =\u003e 1,\n        'weight'    =\u003e 0,\n    ],\n    [\n        'name'      =\u003e 'Permissions',\n        'uri'       =\u003e '/\u003cadmin\u003e/permission',\n        'enabled'   =\u003e 1,\n        'weight'    =\u003e 1,\n    ],\n    [\n        'name'      =\u003e 'Roles',\n        'uri'       =\u003e '/\u003cadmin\u003e/role',\n        'enabled'   =\u003e 1,\n        'weight'    =\u003e 2,\n    ],\n    [\n        'name'      =\u003e 'Users',\n        'uri'       =\u003e '/\u003cadmin\u003e/user',\n        'enabled'   =\u003e 1,\n        'weight'    =\u003e 3,\n    ],\n    [\n        'name'      =\u003e 'Menus',\n        'uri'       =\u003e '/\u003cadmin\u003e/menu',\n        'enabled'   =\u003e 1,\n        'weight'    =\u003e 4,\n    ]\n];\n\n$menu-\u003emenuItems()-\u003ecreateMany($menu_items);\n```\n\n## Menu Tree\n- Get menu tree by using menu id\n```php\nuse BalajiDharma\\LaravelMenu\\Models\\MenuItem;\n\n$items = (new MenuItem)-\u003etoTree($menu-\u003eid);\n```\n\n- Get menu tree by using menu machine name\n```php\nuse BalajiDharma\\LaravelMenu\\Models\\Menu;\n\n$items = Menu::getMenuTree('admin');\n```\n\n## Menu Link Tokens\n- Enter `\u003cadmin\u003e` to add admin prefix to the link.\n- Enter `\u003cnolink\u003e` for non link menu.\n\nGet the generated uri on `link` attribute\n```php\nuse BalajiDharma\\LaravelMenu\\Models\\MenuItem;\n\n\nMenuItem::find(1)-\u003elink;\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalajidharma%2Flaravel-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbalajidharma%2Flaravel-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalajidharma%2Flaravel-menu/lists"}