一个已经被我杀死了好几天的快速问题。 对于Laravel,我尝试使用不同的语言。
英语和日语
这适用于这样的路线。
Route::group([
'prefix' => '{lang}',
'where' => ['lang' => '(jp|en)'],
'middleware' => 'Language'
], function() {
Route::get('/blogs', 'BlogController@index')->name('main-blog');
Route::get('/blog/{postId}/{postTitle}', 'BlogController@post');
});
当我访问“ /博客”页面时,此方法有效。 它在语言之间变化。
现在,当我访问“ / blog / {postId} / {postTitle}”页面时,无法再在控制器中访问发布的参数。
以某种方式仅显示“ lang”参数。 使用前缀时访问参数的正确方法是什么?
当我不使用前缀时,它就像一个魅力。
我的控制器;
public function post($blog_id, $blog_title)
{
// Do something
}
我们非常感谢您的帮助。 几天来,我一直在为此头痛不已。
卫斯理
答案 0 :(得分:1)
您可以使用prefix参数为分组的路由指定通用参数。因此,您需要为该控制器再添加一个参数$lang
:
public function post($lang, $blog_id, $blog_title)
{
// Do something
}
使用prefix参数,路由如下所示:
/{lang}/blogs
/{lang}/blog/{postId}/{postTitle}