PATH:
home
/
rwabteecom
/
project_11
/
app
/
Services
/
Socials
/
Editing: SocialServices.php
<?php namespace App\Services\Socials; use App\Interfaces\ServiceInterface; use App\Models\SocialIcon; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\DB; class SocialServices implements ServiceInterface { public function index($active = false) { return SocialIcon::query() ->when($active, function (Builder $query) { return $query->active(); }) ->latest() ->get(); } public function findOrFail($id, $active = false, $withTrashed = false) { return SocialIcon::query() ->when($active, function (Builder $query) { return $query->active(); }) ->when($withTrashed, function (Builder $query) { return $query->withTrashed(); }) ->findOrFail($id); } public function findWithoutFail($id, $active = false, $withTrashed = false) { return SocialIcon::query() ->when($active, function (Builder $query) { return $query->active(); }) ->when($withTrashed, function (Builder $query) { return $query->withTrashed(); }) ->find($id); } public function store($request): void { DB::transaction(function () use ($request) { SocialIcon::query()->create([ "title" => $request->title, "background" => $request->background, "color" => $request->color, "icon" => $request->icon, ]); }); } public function update($id, $request) { DB::transaction(function () use ($id, $request) { $page = $this->findOrFail($id); $page->update([ "title" => $request->title, "background" => $request->background, "color" => $request->color, "icon" => $request->icon, ]); }); } public function destroy($id): void { DB::transaction(function () use ($id) { $page = $this->findOrFail($id); $page->delete(); }); } public function restore($id): void { DB::transaction(function () use ($id) { $page = $this->findOrFail(id: $id, withTrashed: true); $page->restore(); }); } }
SAVE
CANCEL