PATH:
home
/
rwabteecom
/
project_11
/
app
/
Services
/
Invoice
/
Editing: InvoicesServices.php
<?php namespace App\Services\Invoice; use App\Interfaces\ServiceInterface; use App\Models\Invoice; use App\Services\Plan\PlanServices; use DB; use Illuminate\Database\Eloquent\Collection; class InvoicesServices implements ServiceInterface { public function index($active = false): Collection { return Invoice::query()->get(); } public function findOrFail($id, $active = false): Invoice { return Invoice::query()->findOrFail($id); } public function findWithoutFail($id, $active = false): Invoice { return Invoice::query()->find($id); } public function store($request) { DB::transaction(function () use ($request) { (new PlanServices())->attachPlanToUser( plan_id: $request->plan_id, user_id: $request->user_id, plan_expired_at: $request->date("plan_expired_at")->format("Y-m-d"), is_paid: $request->boolean("payment_status") ); }); } public function update($id, $request) { // TODO: Implement update() method. } public function destroy($id) { // TODO: Implement destroy() method. } public function markInvoiceAsPaid($id): void { DB::transaction(function () use ($id) { $invoice = $this->findOrFail($id); $invoice->update([ "is_paid" => 1 ]); }); } }
SAVE
CANCEL