You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel Voyager后台通过Seeder添加自定义菜单链接?

在Laravel Voyager中通过Seeder添加自定义视图菜单链接的正确方式

你的菜单未显示主要是两个问题:同时设置了url和route字段导致渲染冲突,以及硬写id可能引发数据异常。以下是正确的实现方案:

核心修正点

  • 不要同时填充url和route字段,二选一即可(优先用路由,更符合Laravel规范)
  • 避免硬写id,让数据库自增,防止数据冲突
  • 按需设置权限,确保管理员能看到该菜单

完整Seeder代码

创建一个专用的Seeder文件(比如VoyagerMenuItemsSeeder.php),代码如下:

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class VoyagerMenuItemsSeeder extends Seeder
{
    public function run()
    {
        // 获取管理员菜单的ID(默认name为'admin',可根据实际调整)
        $adminMenuId = DB::table('menus')->where('name', 'admin')->value('id');

        // 使用updateOrInsert避免重复添加,自动处理新增/更新
        DB::table('menu_items')->updateOrInsert(
            ['title' => 'Importar Datos', 'menu_id' => $adminMenuId],
            [
                'target' => '_self',
                'icon_class' => 'voyager-settings',
                'color' => '#000000',
                'parent_id' => null,
                'order' => 11,
                'route' => 'import.get', // 用路由时,url设为null
                'url' => null,
                'parameters' => null,
                'permission' => null, // 不需要权限限制就设为null;需要的话填对应权限slug(比如'browse_import')
                'created_at' => now(),
                'updated_at' => now(),
            ]
        );
    }
}

后续操作

  1. 生成Seeder文件:
    php artisan make:seeder VoyagerMenuItemsSeeder
    
  2. 将上述代码替换到生成的文件中
  3. 运行Seeder:
    php artisan db:seed --class=VoyagerMenuItemsSeeder
    
  4. 清除缓存确保菜单生效:
    php artisan cache:clear
    php artisan view:clear
    

额外注意事项

  • 确认路由import.get已正确定义在routes/web.php中,示例:
    Route::get('/import', [\App\Http\Controllers\ImportController::class, 'index'])
        ->name('import.get')
        ->middleware('admin'); // 确保管理员中间件生效
    
  • 如果需要权限控制,先在Voyager后台创建对应权限(比如“浏览导入数据”,slug设为browse_import),然后将Seeder中的permission字段改为该slug
  • 若菜单仍不显示,检查当前管理员账号是否拥有对应权限

内容的提问来源于stack exchange,提问作者José Vicente López Delgadillo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 12:52:34