# Paquetes

# Spatie QueryBuilder

## Entendiendo QueryBuilder

El paquete tiene como es clasico en la factoria Spatie, una doc hecha por ellos, para un contexto muy especializado.

A veces, es como un poco enrevesada

### Campos

Una de las cosas que mas loco le vuelve a uno son los filtros y los campos.

```php
$users = QueryBuilder::for(User::class)
            ->allowedFields(['id', 'name', 'email'])
            ->allowedFilters(['id', 'name'])->get();
```
 Te devuelve algo asi en una llamada como esta (POstman)

```curl
{{pglocal}}/api/v0/develop/?fields[users]=id,name,email&filter[name]=Kiko
```


 ```json
[
    {
        "id": 14,
        "name": "Kiko",
        "email": "kiko@dominio.com"
    },
    {
        "id": 26,
        "name": "Kiko",
        "email": "info@dominio.com"
    }
]
```