我想将@符号添加到网址。就像this一样。我在web.php中试过这个。
Route::get('/@{user}', 'ProfilesController@show');
它不起作用。然后我尝试Route::get('/@/{user}', 'ProfilesController@show');
它有效,但我怎样才能删除(斜杠)' /'在@符号和用户ID之间?
用户模型:
public function getRouteKeyName()
{
return 'nick';
}
ProfilesController:
public function show(User $user)
{
return view('profiles.show', [
'profileUser' => $user
]);
}
web.php:
Route::get('/@{user}', 'ProfilesController@show');
答案 0 :(得分:1)
你拥有它的方式应该有效。检查控制器代码以确保接受变量。以下代码是我们在网站上工作的内容。
<强> web.php 强>
Route::get('/@{username}', [
'as' => 'profile',
'uses' => 'ProfilesController@show'
]);
<强> ProfilesController.php 强>
public function show($username){
...
}
答案 1 :(得分:-1)
您最好重构代码.. @符号是保留字符,如here所述