gpt4 book ai didi

php - 是否可以重新排序或忽略 Controller 路由中的参数?

转载 作者:行者123 更新时间:2023-12-05 08:16:35 24 4
gpt4 key购买 nike

问题标题是我能想到的最明确的,但为了清楚起见,这里有一个用例/示例:

假设我定义了以下路由来显示一篇文章:

Route::get('article/{slug}/{id}', 'ArticleController@show');

...

class ArticleController extends BaseController {

public function show($id)
{
return View::make('article')->with('article', Article::find($id));
}

}

这是行不通的,因为 show 会将 $id 参数误认为是 $slug 参数。有没有办法只将 $id 参数传递给 show 方法?

最佳答案

我不知道你是否还在寻找解决方案,但由于我遇到了同样的问题并且我不喜欢这些解决方案,所以我这样做了:

在您的 ArticleController 中,您重载了 callAction($method, $parameters) 方法,这是 Laravel Controller 类中的一个方法,所以它看起来像这样:

public function callAction($method, $parameters)
{
unset($parameters['id']);
unset($parameters['slug']);

return parent::callAction($method, $parameters);
}

在此之后你可以轻松地做到这一点:

public function show($id)
{
return View::make('article')->with('article', Article::find($id));
}

关于php - 是否可以重新排序或忽略 Controller 路由中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789577/

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