gpt4 book ai didi

php - Laravel 路由 - 破折号

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

我需要制作一条在变量后面有破折号的路线。我想要的很容易用代码解释(这是我尝试过的,但它不起作用)

Route::any('tournament/{sportName}/{regionName}/{tournamentName}-odds', array('as' => 'tournament-page', 'uses' => 'HomeController@tournament'));

问题是这部分“-odds”。当我添加时,我收到此内容的 Laravel 错误

$others = $this->checkForAlternateVerbs($request);

if (count($others) > 0)
{
return $this->getOtherMethodsRoute($request, $others);
}

throw new NotFoundHttpException;

我该怎么做(在路由参数后添加破折号)?谢谢

最佳答案

问题是,如果在路由参数之后出现以下字符之一:/,;.:-_~+*=@|,则不能在该路由参数内使用它,因为Laravel 调整正则表达式以排除该参数。

我相信这是因为这样的场景:test/{foo}-{bar}

这意味着您显然可以将您的 URL 更改为不在路由参数内使用 -,或者使用 where 自己指定适用于 tournamentName 的正则表达式条件():

Route::any('tournament/{sportName}/{regionName}/{tournamentName}-odds',
array('as' => 'tournament-page', 'uses' => 'HomeController@tournament')
)->where('tournamentName', '[^\/]+');

关于php - Laravel 路由 - 破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28949476/

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