2016-04-17 101 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。 –