public function delete($id, $path = 'images/articles') { $user = \Auth::user(); $image = Model::whereRaw('id = ? and user_id = ?', [$id, $user->id])->firstOrFail(); foreach (array_merge(config('admin.image.resize'), config('admin.image.fit'), config('admin.image.cut')) as $size) { \Storage::disk('local')->delete("{$path}/{$size}/{$image->url}"); } $image->delete(); if ($image->main) { $article = Article::where('id', '=', $image->article_id)->firstOrFail(); if ($newMainImage = Image::where('post_id', '=', $image->article_id)->first()) { $newMainImage->main = 1; $newMainImage->save(); $article->image = $newMainImage->url; } else { $article->image = null; } $article->save(); } }