# How It Works
Laravel Orion uses the most powerful features of Laravel: Eloquent models and relationships, policies, request classes, and API resources, which makes it incredibly powerful and extensible, yet simple to get started with.
You create a controller, associate it with Eloquent model you would like to manage via API and let Laravel Orion do the REST (see what I've done here 😄 ) for you! All endpoints for
batchRestore operations will already be there with proper authorization, validation and error handling (you need to define policies and request classes yourself, of course).
But it does not end here. Define relationship controllers, and it will allow your API consumers to manage all types of relations. Yes, all, which means
updatePivot as well as CRUD operations are available via a standardized REST API.
And, as a bonus,
search endpoint on both model and relationship controllers allows applying all sorts of query constraints to retrieve filtered results.
- REST API for models and relationships with batch operations support
- Comprehensive set of endpoint hooks
- Advanced searching capabilities with sorting, filtering, and keyword search
- Relations inclusion and soft deletes via query parameters
- Straightforward authorization and validation
- Responses transformation via API resources