PHPackages                             mustafafares/laravel-selective-response - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. mustafafares/laravel-selective-response

ActiveLibrary[API Development](/categories/api)

mustafafares/laravel-selective-response
=======================================

Automatic API resource filtering based on model select() queries with optional Scramble documentation support

v1.0.0(4mo ago)113MITPHPPHP ^8.1

Since Jan 4Pushed 4mo agoCompare

[ Source](https://github.com/MustafaFares445/laravel-selective-response)[ Packagist](https://packagist.org/packages/mustafafares/laravel-selective-response)[ RSS](/packages/mustafafares-laravel-selective-response/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (2)Used By (0)

Laravel Selective Response
==========================

[](#laravel-selective-response)

Automatic API resource filtering based on model `select()` queries with optional Scramble documentation support.

Features
--------

[](#features)

- **Automatic Filtering**: Automatically filters API resource responses based on `select()` queries
- **Zero Breaking Changes**: Just change your resource parent class - no code changes needed
- **Scramble Integration**: Optional extension that updates API documentation to show only selected fields
- **Flexible Configuration**: Enable/disable globally or per-resource
- **Always-Include Fields**: Support for fields that should always be included
- **Relationship Support**: Works seamlessly with `whenLoaded()` pattern

Installation
------------

[](#installation)

```
composer require mustafafares/laravel-selective-response
```

Publish the configuration file:

```
php artisan vendor:publish --tag=selective-response-config
```

Quick Start
-----------

[](#quick-start)

### 1. Update Your Resources

[](#1-update-your-resources)

Change your resources to extend `BaseApiResource` instead of `JsonResource`:

```
