У меня есть кнопка удаления на странице профиля на моем сайте. Я хочу, чтобы он удалил изображение из хранилища, а также изменил значение в базе данных 'person' в поле 'avatar' на default.png.
Я попытался добавить действие к моей кнопке, которая ссылается на маршруты и использует функцию deleteImage из контроллера. Все включено в код.
Кнопка в моем коде, для удаления изображения:
<a href="" action="{{$person->last_name}}/delete" id="" class="tabledit-delete-button btn btn-danger waves-effect waves-light active" name="delete-image" id="delete-image-button">
<i class="icofont icofont-ui-delete"></i></a>
web.php с маршрутами:
Route::get('/person/profile/{person_id}/{last_name}/delete', 'Views\Person\PersonViewController@deleteImage')->name('deleteImage');
функция в PersonViewController.php
:
function deleteImage($id)
{
$name = Person::where('person_id', $id)->get('avatar');
if(Storage::delete('/files/assets/images/user-profile/' . $name, '/files/assets/images/user-profile/standard/' . $name, '/files/assets/images/user-profile/miniatures/' . $name) && Person::where('person_id', $id)->update(['avatar' => 'default.png'])) {
return view('person.profile.profile-view')->with('success', 'Image Deleted Successfully');
}
else{
return view('person.profile.profile-view')->with('fail','Something Went Wrong');
}
}
Я хочу, чтобы кнопка удаляла изображения, хранящиеся в 3 папках /files/assets/images/user-profile/
, /files/assets/images/user-profile/standard
, /files/assets/images/user-profile/mimiature
а также изменить значение в базе данных с imagename
на default.png