Edit File: BannerIndex.php
<?php namespace App\Livewire\Admin\Banner; use App\Models\Banner; use App\Models\History; use Livewire\Component; use Livewire\Attributes\Layout; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Storage; use Livewire\WithPagination; class BannerIndex extends Component { use WithPagination; public function delete($id) { $banner = Banner::find($id); $delete_path = substr($banner->image, 9); $banner_with_higher_order = Banner::where("order", ">" , $banner->order)->get(); foreach($banner_with_higher_order as $item) { $item->order = $item->order - 1; $item->save(); } Storage::delete($delete_path); Session::flash('status', 'success'); Session::flash('message', 'Berhasil Menghapus Banner ' . $banner->name); History::create([ 'name' => Auth::user()->name, 'page' => 'Banners', 'title' => Auth::user()->name . ' Menghapus Banner ' . $banner->name, 'status' => 'danger', ]); $banner->delete(); return redirect()->route("admin.banner.index"); } #[Layout("layouts.admin")] public function render() { return view('livewire.admin.banner.banner-index', [ 'banners' => Banner::orderBy("name")->paginate(50), ]); } }
Back