【发布时间】:2021-08-17 16:32:58
【问题描述】:
我只是 Laravel 的新手,所以在这样的现成项目上工作仍然不是很好, 无论如何,当用户尝试重置密码时,它会失败显示:
~/public_html$ php artisan queue:work
[2021-05-29 19:52:02][182577] Processing: App\Mail\Core\ResetPassword
[2021-05-29 19:52:02][182577] Failed: App\Mail\Core\ResetPassword
当我检查日志文件时,我发现了这个错误:
[previous exception] [object] (Illuminate\\Routing\\Exceptions\\UrlGenerationException(code: 0): Missing required parameters for [Route: reset-password.index] [URI: reset-password/{user}]. at /home/user/public_html/vendor/laravel/framework/src/Illuminate/Routing/Exceptions/UrlGenerationException.php:17)
作为一个新手,我不知道该怎么做,搜索了很多但没有机会。
这是我的路线:
Route::get('reset-password/{user}', [AuthController::class, 'resetPassword'])
28: ->name('reset-password.index');
29: Route::post('reset-password/{user}/update', [AuthController::class, 'updatePassword'])
30: ->name('reset-password.update');
这是我的 URI:
@component('mail::button', ['url' => url()->temporarySignedRoute('reset-password.index', now()->addMinutes(30), ['id' => $user->id])])
{{ __('Reset Password') }}
@endcomponent
这是我的来自 AuthController 的 resetPassword 函数:
public function resetPassword(Request $request, User $user): View
{
$data = $this->service->resetPassword($request, $user->id);
return view('core.no_header_pages.reset_password', $data);
}
这是我的 resetPassword @ Services:
public function resetPassword(Request $request, $id)
{
abort_unless($request->hasValidSignature(), 401, 'Invalid Request.');
$passwordResetLink = url()->signedRoute('reset-password.update', ['user' => $id]);
return [
'id' => $id,
'passwordResetLink' => $passwordResetLink
];
}
有机会吗?
【问题讨论】:
标签: php laravel routes laravel-8