Ich bin ziemlich neu in Laravel, also versuche ich, einige der Grundlagen zu lernen. Ich habe es geschafft, eine CRUD mit Datei-Upload zu erstellen. Was ich getan habe, war, dass ich einen Ressourcen-Controller erstellt habe. Mein Speicher-Methode:Laravel 5.4 - Aktualisieren eines Datei-Datensatzes
public function store(Request $request) {
$this->validate($request, [
'name' => 'required',
'avatar' => 'required|image|mimes:jpeg,png,jpg,gif,svg',
'boat_type' => 'required',
'rooms' => 'required',
'price_per_hour' => 'required',
'price' => 'required',
]);
$boat = new Boat($request->input()) ;
if($file = $request->hasFile('avatar')) {
$file = $request->file('avatar') ;
$fileName = $file->getClientOriginalName() ;
$destinationPath = public_path().'/img/boats/avatars/' ;
$file->move($destinationPath,$fileName);
$boat->avatar = $fileName ;
}
$boat->save() ;
return redirect()->route('management.index')
->with('success','New Boat Successfully Added!');
}
Diese Methode funktioniert völlig in Ordnung, damit kann ich die Details meiner Datenbank laden und zu speichern und bin in der Lage es meiner Ansicht nach zu manipulieren.
Aber wenn ich versuche, die UPDATE-Methode zu verwenden, habe ich den genauen Code .. noch, wenn ich versuche, meinen Beitrag zu aktualisieren, kann alles außer meiner Avatar-Variable aktualisiert werden. Es aktualisiert es, aber es speichert es in einem seltsamen Format. Hier ist meine Methode Update
public function update(Request $request, $id)
{
$this->validate($request, [
'name' => 'required',
'boat_type' => 'required',
'rooms' => 'required',
'price_per_hour' => 'required',
'price' => 'required',
]);
$boat = Boat::find($id);
if($file = $request->hasFile('avatar')) {
$file = $request->file('avatar') ;
$fileName = $file->getClientOriginalName() ;
$destinationPath = public_path().'/img/boats/avatars/' ;
$file->move($destinationPath,$fileName);
$boat->avatar = $fileName ;
}
$boat->save() ;
$boat_update = $request->all();
$boat->update($boat_update);
$request->session()->flash('alert-success', 'Boat Successfully Updated!');
return redirect('/management');
}
Wenn ich den Avatar Variable bearbeiten speichert es in /img/boats/avatars/C:\xampp\tmp\phpFA50.tmp
Ich bin nicht wirklich sicher, was falsch ist. Jede Hilfe wird sehr geschätzt.