Мне нужно чтобы удалялись изображения из папки upload.Например если у пользователя в бд сохранено имя изображения (Esfejih.jpeg) то искалось это изображения в папке и удалялось при срабатывания функции delete()
в контролере
public function destroy($id){
$dopysk=Dopysk::find($id);
$dopysks2='upload/'.$dopysk->spravka035;
$dopysks1='upload/'.$dopysk->ydostak;
$dopysks2 ->delete();
$dopysks1->delete();
$dopysk->delete();
return redirect('dopysk');
}
public function destroy($id){
$dopysk=Dopysk::find($id);
$path='upload/'.$dopysk->spravka035;
$path2='upload/'.$dopysk->ydostak;
unlink(public_path($path));
unlink(public_path($path2));
$dopysk->delete();
return redirect('dopysk');
}
Я бы поступил малость по другому, немного переписал бы модель Dopysk
class Dopys extends Model
{
// ваш код
public function delete()
{
unlink(public_storage('upload/'.$this->spravka035));
unlink(public_storage('upload/'.$this->ydostak));
return parent::delete();
}
}
И уже после этого переписал бы метод дестрой как он и должен быть
public function destroy(Dopysk $dopysk){
$dopysk->delete();
return redirect('dopysk');
}
Модель Dopysk ларавел найдёт сам если в роуте в качестве параметра вы передаёте ей ID объекта бд модели. Это поможет вам сохранить нервы и память особенно когда вы будете удалять Dopysk не из метода destroy а из другого связанного метода, вам не придётся каждый раз писать удаление файлов
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости