2016-05-12 10 views
0

I Laravel bin mit 5.2, die ich in AuthController, wie folgen die "Rückkehr" nicht verstehen:Über "Rückkehr" in AuthController von Laravel 5.2

AuthController: (out-of-the-Box)

protected function create(array $data) 
{ 
    return User::create([ 
     'name' => $data['name'], 
     'role' => $data['role'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
    ]); 
} 

ich verstehen kann:

return view('index',compact('articles')); 

und

return redirect()->action('[email protected]'); 

Aber ich kann return User::create([... ]); oben nicht verstehen.

Gibt es einen Unterschied zur unten stehenden Beschreibung?
Rewrite:

protected function create(array $data) 
{ 
    User::create([ 
     'name' => $data['name'], 
     'role' => $data['role'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
    ]); 
    return back(); 
} 
+0

zögern Sie nicht, die Frage zu schließen, wenn Sie zufrieden sind –

Antwort

2

An der Spitze des Controllers Sie, dass die AuthController ein Merkmal

class AuthController extends Controller 
{ 
    use AuthenticatesAndRegistersUsers, ThrottlesLogins; 
verwendet sehen

so die return User::create die neuen registrierte Benutzer zum AuthenticatesAndRegistersUsers zurück, die die Login behandelt Aus diesem Grund werden Sie automatisch registriert, nachdem Sie sich registriert haben

und der Unterschied ist, dass Sie nicht eingeloggt sind (im zweiten Code, den Sie freigegeben haben)

das ist alles, denke ich

2

Diese create() Methode ist nicht überall in den Routen direkt Bezug genommen wird, so dass es nicht eine Ansicht (eine Antwort) zurückkehren.

Höchstwahrscheinlich wird es von einer anderen Methode desselben Controllers verwendet - diese andere Methode verwendet create(), um einen Benutzer zu erstellen, und leitet dann eine Ansicht um oder rendert sie.

Kurz gesagt, nicht alle Controller-Methoden müssen HTTP-Antworten zurückgeben. Einige der Methoden sind "intern" - sie sind Helfer, die von anderen Methoden verwendet werden können.

2

Benutzer :: create-Funktion erstellt einen Benutzer für Sie. Der Benutzer ist ein Modell und gibt eine Sammlung mit den Benutzerdetails zurück. Im ersten Fall geben Sie die Benutzerdaten zurück. Eloquent gibt immer eine Sammlung zurück. Lesen Sie mehr here.

Im zweiten Fall leitet die Funktion back() Sie zurück auf Ihre vorherige Seite. Sie senden hier nicht die Details des Benutzers. Lesen Sie mehr here.