Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel URL中没有ID的编辑方法的自定义路由_Laravel_Routes_Laravel 6 - Fatal编程技术网

Laravel URL中没有ID的编辑方法的自定义路由

Laravel URL中没有ID的编辑方法的自定义路由,laravel,routes,laravel-6,Laravel,Routes,Laravel 6,我想为我的用户做一个设置屏幕,我想让URL变得容易记住:domain.com/user/settings 我希望此路线使用UserController@edit方法,但是,edit()方法需要ID参数 有没有什么方法可以使用user/settingsURL而不在URL中指定ID,但仍然在UserController中使用相同的edit()方法?似乎我已经解决了这个问题 web.php: Route::get('user/settings', 'UserController@edit')->

我想为我的用户做一个设置屏幕,我想让URL变得容易记住:
domain.com/user/settings

我希望此路线使用
UserController@edit
方法,但是,
edit()
方法需要ID参数


有没有什么方法可以使用
user/settings
URL而不在URL中指定ID,但仍然在
UserController
中使用相同的
edit()
方法?

似乎我已经解决了这个问题

web.php

Route::get('user/settings', 'UserController@edit')->name('user.settings');
Route::resource('user', 'UserController');
public function edit(User $user = null)
{
    $user = Auth::user();
}
UserController.php

Route::get('user/settings', 'UserController@edit')->name('user.settings');
Route::resource('user', 'UserController');
public function edit(User $user = null)
{
    $user = Auth::user();
}

编辑URL可以在没有任何参数的情况下使用。在这种情况下,您可以在控制器中提及用户

路线

Route::get('user/settings');
控制器

public function edit()
{
    $user = Auth::user();
}