【发布时间】:2019-10-09 11:11:06
【问题描述】:
我想为我的用户制作一个设置屏幕,并且我希望 URL 易于记忆:domain.com/user/settings
我希望这条路线指向使用UserController@edit方法,但是edit()方法需要ID参数。
有没有什么方法可以使用user/settings URL 而无需在URL 中指定ID,但仍然在UserController 中使用相同的edit() 方法?
【问题讨论】:
我想为我的用户制作一个设置屏幕,并且我希望 URL 易于记忆:domain.com/user/settings
我希望这条路线指向使用UserController@edit方法,但是edit()方法需要ID参数。
有没有什么方法可以使用user/settings URL 而无需在URL 中指定ID,但仍然在UserController 中使用相同的edit() 方法?
【问题讨论】:
编辑 URL 可以不带任何参数使用。在这种情况下,您可以在控制器中提及用户。
路线
Route::get('user/settings');
控制器
public function edit()
{
$user = Auth::user();
}
【讨论】:
看来我已经解决了?
web.php:
Route::get('user/settings', 'UserController@edit')->name('user.settings');
Route::resource('user', 'UserController');
UserController.php:
public function edit(User $user = null)
{
$user = Auth::user();
}
【讨论】: