2016-05-29 9 views
0

Ich habe den folgenden Code, um das Passwort-Reset-Mail an den Benutzer E-Mail zu senden, die funktioniert:Laravel: Passwort-Reset E-Mail-Prüfung gegen Benutzer

$response = $this->passwords->sendResetLink($request->only('email'),function($message) 
{ 
    $message->subject('Password Reminder'); 
}); 

Was ich will, ist, dass Benutzer sollten ihre username statt E-Mail schreiben , Und ich werde die E-Mail gegen diesen Benutzernamen überprüfen, und werde die E-Mail senden. So kam ich auf diese Idee.

$usernameToEmail = User::where('name','=', Input::get('username'))->first(); 

    $response = $this->passwords->sendResetLink(['name' => $usernameToEmail],function($message) 
    { 
     $message->subject('Password Reminder'); 
    }); 

Das funktioniert auch nicht.

Fehle ich etwas?

+0

$ email = $ usernameToEmail-> E-Mail, fügen Sie diese nach dem Benutzer eine E-Mail und E-Mail vqriable in Funktion –

Antwort

0

Sie sind in der Nähe, aber Ihre $usernameToEmail Variable enthält ein User Objekt, keine E-Mail-Zeichenfolge. Wahrscheinlich brauchen Sie nur eine Methode, um Ihre Kette hinzuzufügen:

$usernameToEmail = User::where('name','=', Input::get('username'))->first()->email; 
+0

Ok seine nicht funktioniert, Die Arbeits Code kehrt zu verwenden dies: 'Array: 1 [▼ "email"=> "[email protected]" ]' von diesem 'dd (Anfrage- $> nur ('E-Mail'));' Und Ihre Änderung gibt das zurück: 'array: 1 [▼ " name "=>" [email protected] " ]' Von diesem: 'dd (['username' => $ usernameToEmail]);' Werfen Sie einen Blick –

+0

Ich habe es, Die Sache war, dass ich E-Mail anstelle von Namen in der 'sendResetLink()' verwenden sollte –

Verwandte Themen