【发布时间】:2019-08-18 04:44:18
【问题描述】:
我正在构建一个类似于 twitter 的网站,但我遇到了路由问题:
- 此代码会将用户带到具有给定 id 的人员的个人资料页面。
Route::get('/profile/{id}', 'ProfileController@show')->name('profile.show');
- 此代码会将用户带到具有给定用户名的人的个人资料页面。
Route::get('/profile/{username}', 'ProfileController@show')->name('profile.show');
- 最后,此代码会将用户带到具有给定电子邮件的人的个人资料页面。
Route::get('/profile/{email}', 'ProfileController@show')->name('profile.show');
我的意思是所有这三个 URL 都会向用户显示相同的页面:
example.com/profile/1
example.com/profile/rahimi0151
example.com/profile/rahimi0151@gmail.com
我的问题是: 有没有办法合并所有这些路线?如下:
Route::get('/profile/{id|username|email}', 'ProfileController@show')->name('profile.show');
【问题讨论】: