我想将以下操作附加到/ articles /<任何单词> / {article} .html:
public function show(Article $article)
{
return $this->doShow($article);
}
如果我使用通配符(代替<任何单词>) - 例如{catalog} - Laravel将其插入到action的参数中,这是不可取的。我试过*符号,':任何',':任何?“ - 路线停止工作(我得到404)。我该怎么用?
答案 0 :(得分:3)
路由并不总是必须绑定到模型。如果路由参数未绑定到模型,则字符串将发送到控制器。
“Laravel将其插入到操作的参数中,这是不合需要的”这是预期的行为,但如果您不需要它,则不必使用该变量。但如果是这种情况,您应该重新考虑您的URL方案。
Route::get('/articles/{term}/{article}.html', 'ArticleController@show');
public function show($term, Article $article)
{
// $term will be a string wish whichever value is in the {term} section
// $article will be the model that matches the key in the {article} section
return $this->doShow($article);
}