无法为序列化准备路由 [password/reset]。另一条路线已指定名称 [password.request]

Unable to prepare route [password/reset] for serialization. Another route has already been assigned name [password.request]

我在 Laravel 8 中创建了一个小应用程序。一切都很好,但是当我想配置缓存时出现错误,一条路由与另一条路由同名。

查看路由我发现重复的命名路由,但由于我是 Laravel 的新手,我不知道如何解决这个问题。我不知道怎么办有两条同名的路线希望你能指导我一下。

只需覆盖 laravel 身份验证路由

Route::post('password/email', [
    'as' => 'laravel.password.email',
    'uses' => 'App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail'
]);

Route::get('password/reset', [
    'as' => 'laravel.password.request',
    'uses' => 'App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm'
]);

但不要忘记更改旧路线名称

自 Laravel 7 起,应用程序通常会在其 routes/web.php 文件中调用 Auth::routes();。这会注册包 laravel/ui 为各种用户身份验证功能定义的路由。

routes/*.php 中搜索应用程序的路由文件以查找错误消息中提到的路由,例如 password.emailpassword.request

将自定义路由重命名为不同的路由名称,然后在整个应用程序代码中更新该路由名称。