2017-04-17 5 views
1

Ich benutze Laravel-5.4 make: Auth. Ein zusätzliches Feld in Benutzertabelle -> Profilbild in views \ auth \ register.blade.php hinzugefügt. Ich möchte folgendes tun: 1. Wie man den Bildpfad in der Datenbank für alle Benutzer speichert, die sich registrieren.Laravel-5.4 - Speichern Sie den Image-Pfad in der Datenbank für alle Benutzer, die

Haben versucht, Speicherfunktion in vorhandenen App definieren \ Http \ Controllers \ Auth \ RegisterController.php. Es kommt nicht einmal in die Ladenfunktion. Wo und wie schreibt man die Speicherfunktion, damit der Controller sie ausführt.

Antwort

0

Wenn Sie Hochladen von Bildern mit JS und image_path Feld in der Form sind Handhabung bereits Pfad zu dem Bild, dann ändern Sie einfach create() Methode in Auth/RegisterController.php Controller:

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

nein, ich bin nur ein Bild auswählen und hochladen es, die inturn einen temporären Pfad in der Datenbank wie C speichert: \ xampp \ tmp \ php469E.tmp . Ich möchte das Bild im Öffentlichen Ordner speichern und den Bildpfad speichern. Ich schrieb Geschäftsfunktion in Auth/RegisterController.php, es funktioniert nicht. Ich lerne Laravel für mein neues Projekt. So irgendwelche Vorschläge, wie man fortfährt. – dynamic

0

Wenn Sie nicht bekommen, auf Ihre Methode, überprüfen Sie einfach, ob Ihr Formular es richtig entspricht. ZB:

<form method="POST" action="route('register.user)"> 
... 
</form> 

Strecke & Controller:

Route::post('/users/register', [ 
'uses' => '[email protected]', 
'as' => 'register.user' 
]); 

public function register(Request $request){ 
    if ($file = $request->file('photo_id')) { 
     $name = time() . $file->getClientOriginalName(); 
     $file->move('images', $name); 
     $photo = Photo::create(['file' => $name]); 
    } 
    ...other methods/logic... 
} 
+0

verwendet Ihre Option und ich kann sehen, dass meine Funktion aufgerufen wird. Mein Bedürfnis ist, eine Speicherfunktion in ihre vorhandene 'app \ Http \ Controllers \ Auth \ RegisterControl ler.php' schreiben zu wollen. weil dort neue Benutzerregistrierungsdetails validiert werden. Die bestehenden Routen 'Route :: get ('registrieren', 'Auth \ RegisterController @ showRegistrationForm') -> Name ('regis ter'); Route :: post ('register', 'Auth \ RegisterController @ register'); 'nimmt das nur in Aktion. – dynamic

Verwandte Themen