Skip to main content
Version: 3.7.0

Spatie Driver

Targets Spatie Laravel Query Builder.

Configure​

import { DriverEnum, provideNgQubee } from 'ng-qubee';

bootstrapApplication(AppComponent, {
providers: [provideNgQubee({ driver: DriverEnum.SPATIE })]
});

Wire format​

ConcernOutput
Filtersfilter[field]=value
Per-model fieldsfields[users]=id,email
Includesinclude=profile,posts
Sortsort=-created_at,name (- = DESC)
Paginationlimit=15&page=1

Supported features​

addFilter, addFields, addIncludes, addSort, setLimit, setPage and their delete counterparts.

Unsupported features​

  • addFilterOperator / deleteOperatorFilters → UnsupportedFilterOperatorError
  • addSelect / deleteSelect → UnsupportedSelectError
  • setSearch / deleteSearch → UnsupportedSearchError

Customising request keys​

Each query parameter name is configurable via IConfig.request:

provideNgQubee({
driver: DriverEnum.SPATIE,
request: {
filters: 'custom-filter-key',
fields: 'custom-fields-key',
includes: 'custom-includes-key',
limit: 'per_page',
page: 'pg',
sort: 'orderBy'
}
});

Defaults match Spatie's documented conventions.

Response shape​

{
"data": [...],
"current_page": 1,
"per_page": 15,
"total": 100,
"from": 1,
"to": 15,
"first_page_url": "...",
"last_page": 7,
"last_page_url": "...",
"next_page_url": "...",
"prev_page_url": null
}