php - 资源 Controller 的 Laravel 命名路由

标签 php laravel laravel-4

使用 Laravel 4.2,是否可以为资源 Controller 路由分配名称?我的路由定义如下:

Route::resource('faq', 'ProductFaqController');

我尝试像这样向路由添加名称选项:

Route::resource('faq', 'ProductFaqController', array("as"=>"faq"));

但是,当我点击/faq 路由并在我的 View 中放置 {{ Route::currentRouteName() }} 时,它会生成 faq.faq.index只是常见问题解答

最佳答案

当您使用资源 Controller 路由时,它会自动为它创建的每个单独路由生成名称。 Route::resource() 基本上是一个辅助方法,然后为您生成单独的路由,而不是您需要手动定义每个路由。

您可以通过在 Laravel 4 中键入 php artisan routes 或在 Laravel 5 中键入 php artisan route:list 到您的终端/控制台来查看生成的路由名称。您还可以在资源 Controller 文档页面 ( Laravel 4.x | Laravel 5.x ) 上查看生成的路由名称类型。

有两种方法可以修改资源 Controller 生成的路由名称:

  1. 提供一个 names 数组作为第三个参数 $options 数组的一部分,每个键都是资源 Controller 方法(索引、存储、编辑等) .), 值是你想给路由的名称。

    Route::resource('faq', 'ProductFaqController', [
        'names' => [
            'index' => 'faq',
            'store' => 'faq.new',
            // etc...
        ]
    ]);
    
  2. 指定 as 选项为每个路由名称定义前缀。

    Route::resource('faq', 'ProductFaqController', [
        'as' => 'prefix'
    ]);
    

    这将为您提供诸如 prefix.faq.indexprefix.faq.store 等路径

关于php - 资源 Controller 的 Laravel 命名路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25290229/

相关文章:

javascript - JQuery 遍历每个 div id

php - 区分数学用户输入和其他所有输入

php - 重复的列名 Laravel

php - Laravel 从 Raw DB 到 Eloquent

php - 向 filemtime 函数 (php) 添加五分钟!

php - 使用 Laravel Fluent 有没有办法检索更新或插入的行?

laravel - 在本地计算机上安装 laravel 的正确方法

php - Laravel 中 with() 和 compact() 有什么区别

date - 比较 Laravel 4 Blade 模板中的空日期碳对象

php - 计算表格中的第一次出现次数而不是重复次数