Files
backend/app/Services/Cartables/RoadPatrol/OperatorService.php

35 lines
1.0 KiB
PHP

<?php
namespace App\Services\Cartables\RoadPatrol;
use App\Facades\DataTable\DataTableFacade;
use App\Models\RoadPatrol;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class OperatorService
{
public function operatorCartableReport(Request $request, $loadRelations = false)
{
$allowedFilters = ['*'];
$allowedSortings = ['*'];
$query = RoadPatrol::query()
->select([
'province_fa', 'province_id', 'id', 'edare_id', 'edare_name', 'start_time', 'end_time', 'created_at', 'description',
'distance', 'vehicle_runtime', 'fuel_consumption', 'stop_points'
])
->where('operator_id', '=', auth()->user()->id)
->when($loadRelations, fn ($query) => $query->with(['rahdaran:id,name,code', 'cmmsMachines:id,machine_code,car_name,plak_number']));
$data = DataTableFacade::run(
$query,
$request,
allowedFilters: $allowedFilters,
allowedSortings: $allowedSortings);
return $data;
}
}