24 lines
829 B
PHP
24 lines
829 B
PHP
<?php
|
|
|
|
namespace App\Services\ExtraCharges;
|
|
|
|
use App\Models\AdditionalCharge;
|
|
|
|
class ExtraChargesListService
|
|
{
|
|
public function listForTerm(string $schoolYear, string $semester, ?string $status, ?string $q, int $perPage): array
|
|
{
|
|
$rows = AdditionalCharge::listAllForTerm($schoolYear, $semester, $status, $q, $perPage);
|
|
$meta = [
|
|
'perPage' => method_exists($rows, 'perPage') ? $rows->perPage() : $perPage,
|
|
'page' => method_exists($rows, 'currentPage') ? $rows->currentPage() : null,
|
|
'total' => method_exists($rows, 'total') ? $rows->total() : null,
|
|
'pageCount' => method_exists($rows, 'lastPage') ? $rows->lastPage() : null,
|
|
];
|
|
|
|
$items = method_exists($rows, 'items') ? $rows->items() : (array) $rows;
|
|
|
|
return [$items, $meta];
|
|
}
|
|
}
|