发送密码重置 Link In Laravel 返回空数组
Sending Password Reset Link In Laravel returning empty array
我正在关注文档并尝试发送重置密码 link。
唯一的区别是我使用 Symfony
表单供用户输入他们的电子邮件。
当我看到 Request
中的内容时,我看到了嵌套数组。
第一个数组键是 form
的 Symfony
表单名称,然后在其中我看到一个包含 key/value 对 Email => myemail@gmail.com
的数组
当我到达状态块并转储 $request->only('Email')
时,我得到一个空数组,然后我收到 Laravel 找不到具有该电子邮件的用户的错误。我知道 only()
也需要一个数组。
这是我在我的控制器
中尝试过的
$emailAddress = $request->input('form.Email');
$credentials = ['email' => $emailAddress];
$status = Password::sendResetLink(
$request->only($credentials)
);
dd(__($status)); // Cannot find user with that email
数组结构
array:1 [▼
"form" => array:1 [▼
"email" => "myemail@gmail.com"
]
]
您没有向 sendResetLink
提供 $credentials
数组。试试这个:
$emailAddress = $request->input('form.email');
$credentials = ['email' => $emailAddress];
$status = Password::sendResetLink(
$credentials
);
更新 1:
还要确保您的 User
模型(或您使用的默认 auth
模型)实现了 CanResetPasswordContract
并使用了 CanResetPassword
特征。 Laravel 随附的默认 User
型号已经包含。
更新二:
如果您有自定义电子邮件字段名称,如 user_email
、org_email
等,您需要覆盖默认功能并将此功能添加到您的 User
模型中。
public function getEmailForPasswordReset()
{
return $this->user_email;
}
我正在关注文档并尝试发送重置密码 link。
唯一的区别是我使用 Symfony
表单供用户输入他们的电子邮件。
当我看到 Request
中的内容时,我看到了嵌套数组。
第一个数组键是 form
的 Symfony
表单名称,然后在其中我看到一个包含 key/value 对 Email => myemail@gmail.com
当我到达状态块并转储 $request->only('Email')
时,我得到一个空数组,然后我收到 Laravel 找不到具有该电子邮件的用户的错误。我知道 only()
也需要一个数组。
这是我在我的控制器
中尝试过的 $emailAddress = $request->input('form.Email');
$credentials = ['email' => $emailAddress];
$status = Password::sendResetLink(
$request->only($credentials)
);
dd(__($status)); // Cannot find user with that email
数组结构
array:1 [▼
"form" => array:1 [▼
"email" => "myemail@gmail.com"
]
]
您没有向 sendResetLink
提供 $credentials
数组。试试这个:
$emailAddress = $request->input('form.email');
$credentials = ['email' => $emailAddress];
$status = Password::sendResetLink(
$credentials
);
更新 1:
还要确保您的 User
模型(或您使用的默认 auth
模型)实现了 CanResetPasswordContract
并使用了 CanResetPassword
特征。 Laravel 随附的默认 User
型号已经包含。
更新二:
如果您有自定义电子邮件字段名称,如 user_email
、org_email
等,您需要覆盖默认功能并将此功能添加到您的 User
模型中。
public function getEmailForPasswordReset()
{
return $this->user_email;
}