Edit File: IntroController.php
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\intros\Store; use App\Models\Intro ; use App\Traits\Report; use App\Models\IntroImage ; class IntroController extends Controller { /*************************** get all **************************/ public function index() { $rows = Intro::latest()->get(); return view('admin.intros.index', compact('rows')); } /*************************** store **************************/ public function create() { return view('admin.intros.create'); } /*************************** store **************************/ public function store(Store $request) { $intro = Intro::create($request->validated() + ([ 'desc' => ['ar' => $request->desc_ar , 'en' => $request->desc_en] ])); foreach($request->imageArr as $image){ IntroImage::create([ 'image' => $image, 'intro_id' => $intro->id ]); } Report::addToLog(' اضافه صفحة_تعريفية') ; return response()->json(['url' => route('admin.intros.index')]); } /*************************** edit page **************************/ public function edit($id) { $row = Intro::findOrFail($id); return view('admin.intros.edit' , ['row' => $row]); } /*************************** update **************************/ public function update(Store $request, $id) { Intro::findOrFail($id)->update($request->validated() + ([ 'desc' => ['ar' => $request->desc_ar , 'en' => $request->desc_en] ])); if($request->oldIamges){ IntroImage::whereNotIn( 'id' ,$request->oldIamges)->where('intro_id' , $id)->delete(); } foreach($request->images as $image){ IntroImage::create([ 'image' => $image, 'intro_id' => $id ]); } Report::addToLog(' تعديل صفحة_تعريفية') ; return response()->json(['url' => route('admin.intros.index')]); } /*************** show *************************************/ public function show($id) { $row = Intro::findOrFail($id); return view('admin.intros.show' , ['row' => $row]); } /*************************** delete **************************/ public function destroy($id) { Intro::findOrFail($id)?->delete(); Report::addToLog(' حذف صفحة_تعريفية') ; return response()->json(['id' =>$id]); } public function destroyAll(Request $request) { $requestIds = json_decode($request->data); foreach ($requestIds as $id) { $ids[] = $id->id; } if (Intro::WhereIn('id',$ids)->delete()) { Report::addToLog(' حذف العديد من الصفحات_التعريفية') ; return response()->json('success'); } else { return response()->json('failed'); } } }
Back to File Manager