Как удалить изменяемые данные в laravel - PullRequest
0 голосов
/ 28 октября 2019

Когда я удаляю изображения моего продукта, которые не соответствуют этому продукту, они не удаляются.

controller

public function destroy($id)
{
    $product = Product::findOrFail($id);
    if(!empty($product->image)){
        Storage::delete($product->image);
    }

    $images = Gallery::where('imageable_id', $product->id)->get(); //i get the images but it won't delete them
    if(!empty($images)){
        Storage::delete($images);
    }

    $product->delete();
    return redirect()->route('products.index');
}

Любая идея?

Ответы [ 2 ]

1 голос
/ 28 октября 2019

Вы не удаляете записи из таблицы. Удалите их только из хранилища. попробуйте что-то вроде этого.

$product->image()->delete();

Редактировать

Чтобы удалить файлы из папки, вы можете сделать что-то вроде этого.

    for($x = 0; $x < sizeof($images); $x++)
    {
       $file= $image->your_file_path;
       $filename = public_path().'/uploads_folder/'.$file;
       \File::delete($filename);
    }

полный код,

$images = Gallery::where('imageable_id', $product->id)->get(); //i get the images but it won't delete them
if(!empty($images)){

for($x = 0; $x < sizeof($images); $x++)
 {
   $file= $image->your_file_path;
   $filename = public_path().'/uploads_folder/'.$file;
   \File::delete($filename);
 }

 $product->image()->delete();
}
0 голосов
/ 28 октября 2019

Этот простой код решит проблему удаления морфа

$product->image()->delete();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...