Laravel 5.2刀片路由到资源

时间:2016-05-17 10:55:56

标签: laravel laravel-5.2 blade

文档说:

  

如果命名路由定义参数,您可以将参数传递为   路由功能的第二个参数。给定的参数将   自动插入到URL中的正确位置:

Route::get('user/{id}/profile', ['as' => 'profile', function ($id) {
    //
}]);

$url = route('profile', ['id' => 1]);

如果我使用Route::resource(...)两次确实有一个嵌套资源路由,我会得到一个包含占位符的命名路由,如

employees.{employee}.images.index

如何使用刀片模板引擎为此嵌套资源创建路径?

我想过

route('employees.{employee}.images.index', ['employee' => $employee->id]);

但这不起作用。我知道我可以"手动"创建路由,但这会使它们不易维护。

更新1 我知道我可以手动命名路线,然后使用给定的名称。但如果有一种方法没有命名它们我会更喜欢它。

1 个答案:

答案 0 :(得分:1)

您不必在路由名称中添加employee之类的内容。运行php artisan route:list命令,您将看到由Name子句创建的所有路由的实名(查看名为resource的列)。然后像往常一样使用它们:

route('employees.images.index', ['employee' => $employee->id]);

另外,您可以name resource routes