lexxsoft/odata is a Laravel package for laravel odata request parser.
It currently has 4 GitHub stars and 74 downloads on Packagist (latest version 2.0.1).
Install it with composer require lexxsoft/odata.
Discover more Laravel packages by lexxsoft
or browse all Laravel packages to compare alternatives.
Last updated
| Component | Version | |-----------|--------| | PHP | 8.1 | | Laravel | 13 |
composer require lexxsoft/odata
...
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);
}