Tuner Docs

A Laravel package to fine-tune your APIs.

View on GitHub
📚 Documentation
🧪 Basic Features
🧪 Intermediate Features
🧪 Advanced Features

Filter (between[column]=min,max)

The between feature allows you to filter results based on a range of values for one or more columns. It also supports combining multiple conditions using logical operators like AND, OR, and their negated versions.



Filter by ID Range

Request
GET /api/users?between[id]=3,7

Where id is the target column for filtering, and 3,7 represent the minimum and maximum bounds of the range.

Query Parameters
Name Type Description
between[id] string Comma-separated values defining the min and max range.
Response
[
  { "id": 3, "name": "Mr. Price Mosciski Sr.", ... },
  { "id": 4, "name": "Amelie Crist PhD", ... },
  { "id": 5, "name": "Moshe Blick", ... },
  { "id": 6, "name": "Mr. Alfred O'Reilly", ... },
  { "id": 7, "name": "Dr. Clement Bogan", ... }
]


Combine with AND Operator

Request
GET /api/users?between[id]=1,3&between[and created_at]=2025-04-01,2025-04-17

Where id, created are the target columns for filtering, and is the logical operator, and 1,3, 2025-04-01,2025-04-17 represent the min/max bounds of their respective ranges.

Query Parameters
Name Type Description
between[id] string Comma-separated ID bounds.
between[and created_at] string Apply AND logic between ID and created_at ranges.
Response
[
  { "id": 1, ..., "created_at": "2025-04-05", ... },
  { "id": 3, ..., "created_at": "2025-04-12", ... }
]


Combine with OR Operator

Request
GET /api/users?between[id]=3,5&between[or created_at]=2025-04-01,2025-04-17

Where id, created are the target columns for filtering, OR is the logical operator, and 3,5, 2025-04-01,2025-04-17 represent the min/max bounds of the range filters.

Query Parameters
Name Type Description
between[id] string Comma-separated ID bounds.
between[or created_at] string Apply OR logic between ID or created_at ranges.
Response
[
  { "id": 3, ..., "created_at": "2025-04-12", ... }
  { "id": 4, ..., "created_at": "2025-04-15", ... },
  { "id": 5, ..., "created_at": "2025-04-15", ... },
  { "id": 6, ..., "created_at": "2025-04-17", ... },
  { "id": 7, ..., "created_at": "2025-04-17", ... }
]


NOT AND Operator (and!)

Request
GET /api/users?between[id]=3,5&between[and! created_at]=2025-04-01,2025-04-17

Where id, created are the target columns for filtering, and! is the logical operator with a negation effect, and 3,5, 2025-04-01,2025-04-17 represent the min/max bounds to be excluded.

Query Parameters
Name Type Description
between[id] string Comma-separated ID bounds.
between[and! created_at] string Apply NOT AND - match ID range but exclude those within the date range.
Response
[
  { "id": 3, ..., "created_at": "2025-04-12", ... }
  { "id": 5, ..., "created_at": "2025-04-15", ... },
]


NOT OR Operator (or!)

Request
GET /api/users?between[id]=3,5&between[or! created_at]=2025-04-01,2025-04-17

Where id, created are the target columns for filtering, or! is the logical operator with a negation effect, and 3,5, 2025-04-01,2025-04-17 represent the min/max bounds to be excluded.

Query Parameters
Name Type Description
between[id] string Comma-separated ID bounds.
between[or! created_at] string Apply NOT OR - exclude results matching any part of the date range.
Response
[
  { "id": 3, ..., "created_at": "2025-03-12", ... }
  { "id": 5, ..., "created_at": "2025-04-18", ... },
]