lexxsoft / odata
Laravel OData request parser
2.0.1
2026-08-08 07:45 UTC
Requires
- php: >=8.1
- ext-dom: *
Requires (Dev)
- laravel/framework: ^13.24
This package is auto-updated.
Last update: 2026-08-08 07:46:18 UTC
README
Contents
Installation
Requirements
| Component | Version |
|---|---|
| PHP | 8.1 |
| Laravel | 13 |
Setup
composer require lexxsoft/odata
Controller example
... use Lexxsoft\Odata\RequestQuery; ... public function index(Request $request): AnonymousResourceCollection { $requestQuery = RequestQuery::make(); $perPage = $requestQuery->limit > 0 ? $requestQuery->limit : 10; $builder = $requestQuery->noLimit()->builder(App::make(Document::class)); if (!$requestQuery->hasOrder()) { $builder = $builder->orderBy('created_at', 'desc'); } if ($requestQuery->search !== '') { $builder = $builder->where('name', 'like', '%' . $requestQuery->search . '%'); } if (isset($request->period)) { $startFrom = now()->subtract($request->period . ' days'); $builder = $builder->where('created_at', '>=', $startFrom->format('Y-m-d')); } $docs = $builder->where('created_by', Auth::id()) ->paginate($perPage) ->withQueryString(); return DocumentResource::collection($docs); }