Skip to main content
Version: 3.3.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 / deleteOperatorFiltersUnsupportedFilterOperatorError
  • addSelect / deleteSelectUnsupportedSelectError
  • setSearch / deleteSearchUnsupportedSearchError

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
}