Php 如何在laravel中通过路由名称获取路由url模式?
所以我在我的web.php中定义了一个路由,就像这样Php 如何在laravel中通过路由名称获取路由url模式?,php,laravel,laravel-5,laravel-5.3,Php,Laravel,Laravel 5,Laravel 5.3,所以我在我的web.php中定义了一个路由,就像这样 Route::any('/items/{id}/{slug}', 'Items\ItemController@item')->name('items.item'); 我正在尝试创建一个函数,在该函数中,我可以通过调用URL的名称从路由中获取URL“/items/{id}/{slug}”的字符串模式 我想这会有用的。。但它没有(它告诉我我缺少参数id和slug) 我使用的是Laravel 5.3。您可以访问的uri如下: $url_pa
Route::any('/items/{id}/{slug}', 'Items\ItemController@item')->name('items.item');
我正在尝试创建一个函数,在该函数中,我可以通过调用URL的名称从路由中获取URL“/items/{id}/{slug}”的字符串模式
我想这会有用的。。但它没有(它告诉我我缺少参数id和slug)
我使用的是Laravel 5.3。您可以访问的uri如下:
$url_pattern = app('router')->getRoutes()->getByName('items.item')->uri;
var_dump($url_pattern);
// will return:
// "items/{id}/{slug}"
始终可以创建人造管线。当您调用
route()
时,必须假设您知道它期望的参数
如果希望将其作为字符串(例如在JS中使用),只需将参数的名称作为参数传递即可。例如:
$url_pattern = route('items.item', ['id' => '{id}', 'slug' => '{slug}']);
// will generate:
// items/{id}/{slug}
$url_pattern = route('items.item', ['id' => $id, 'slug' => $slug]);
您需要在路由器功能中添加参数,例如:
$url_pattern = route('items.item', ['id' => '{id}', 'slug' => '{slug}']);
// will generate:
// items/{id}/{slug}
$url_pattern = route('items.item', ['id' => $id, 'slug' => $slug]);
奇怪,这应该有用。。。。但我仍然得到缺少的必需参数错误。