gpt4 book ai didi

php - 如何在 laravel 中通过路由名称获取路由 url 模式?

转载 作者:行者123 更新时间:2023-12-02 03:45:34 32 4
gpt4 key购买 nike

所以我在我的 web.php 中定义了一条路由,就像这样....

Route::any('/items/{id}/{slug}', 'Items\ItemController@item')->name('items.item');

我正在尝试创建一个函数,我可以通过调用它的名称从路由中获取 URL 的字符串模式,'/items/{id}/{slug}'...

我以为这会起作用..但它不起作用(它告诉我我缺少参数 id 和 slug)。

// Should assign the string 'items/{id}/{slug}' to the variable.
$url_pattern = route('items.item');

我正在使用 Laravel 5.3。

最佳答案

您可以访问 Route的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}

关于php - 如何在 laravel 中通过路由名称获取路由 url 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46897067/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com