文档说:
如果命名路由定义参数,您可以将参数传递为 路由功能的第二个参数。给定的参数将 自动插入到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 我知道我可以手动命名路线,然后使用给定的名称。但如果有一种方法没有命名它们我会更喜欢它。
答案 0 :(得分:1)
您不必在路由名称中添加employee
之类的内容。运行php artisan route:list
命令,您将看到由Name
子句创建的所有路由的实名(查看名为resource
的列)。然后像往常一样使用它们:
route('employees.images.index', ['employee' => $employee->id]);
另外,您可以name resource routes。