2016-04-17 61 views
0

在我的项目中,我赋予了管理员角色将用户添加到网站的权限。出于安全原因,我散列一个随机字符串,作为临时密码存储,然后我想向用户发送标准Laravel重置密码模板的电子邮件。Laravel - sendResetLink不工作

我有以下几点:

$user = new User(); 
$user->name = Input::get('name'); 
$user->email = Input::get('email'); 
$user->password = Hash::make(str_random(8)); 
$user->save(); 

$response = Password::sendResetLink(Input::get('email'), function (Message $message) { 
     $message->subject('Password Reset'); 
    }); 

我得到的错误是

参数1传递给 照亮\身份验证\密码\ PasswordBroker :: sendResetLink()必须是 类型数组,字符串给定

如何在Laravel中触发此函数,以便用户发送通过重置电子邮件?谢谢。

+0

我认为错误是不言自明。 'sendResetLink'需要一个数组,并且你正在提供一个字符串。 – PawelMysior

+0

@PawelMysior,非常真实,那就是我遇到的问题。我不确定它在阵列中需要什么。 – Ben

回答

0

这里的问题是你发送字符串电子邮件,你应该发送数组(这是什么错误说)。

你应该在这种情况下使用:

Request::only('email') 

,而不是

Input::get('email') 
+0

谢谢你的回复。我试过这个,但是返回下面的错误'不应该静态调用非静态方法Illuminate \ Http \ Request :: only(),假设$ this来自不兼容的上下文。 – Ben

+0

@Ben所以在这里将'Request'改成'\ Request'以在这里使用'Request' facade。 –