php - How to update already existing file

Solution:

It seems like you're trying to access a form field like a file. Try using $club->photo_patch = $request->file('photo_patch')->store('images','public'); instead.

For this to work, your edit form should have a file input in it (as I suspect your create form does). In order to help you better, it would be useful to see your form html as well (for both forms).

Answer

Solution:

You can upload your image this way

public function create(Request $request)
{
    $imageName=date('d').time().date('m').'.'.$request->image->extension();
    $request->image->move(public_path('image'),$imageName);

    $id = Auth::id();
    $club = new Club;
    $club->name = $request->name;
    $club->description = $request->description;
    $club->address = $request->address;
    $club->city_id = $request->city_id;
    $club->user_id = $id;
    $club->photo_patch = $imageName;
    // $path = $request->photo_patch->store('images','public');

    // dd($club->photo_patch);
    $club->save();
    return redirect('clubs');
}
public function update(Request $request)
{
    $imageName=date('d').time().date('m').'.'.$request->image->extension();
    $request->image->move(public_path('image'),$imageName);

    $data = Club::find($request->id);
    $data->name = $request->name;
    $data->description = $request->description;
    $data->address = $request->address;
    $data->photo_patch = $imageName;
    $data->city_id = $request->city_id;
    $data->save();

    return redirect('clubs');
}

Answer

Solution:

  public function update(Club $club, Request $request) {

$club->update([
"name" => request->name,
...
]);
        return redirect('clubs');
    }


Route:
Route::get('update-club/{$club}' [AppControlller::class, 'update']); 

Source