Všetky balíky
Query Builder for Laravel
Formát požiadavky
Formát query stringu je zmrazený kontrakt — frontendy aj uložené odkazy fungujú ďalej, aj keď sa balík vyvíja. S predvolenými názvami parametrov:
| Oblasť | Syntax | Význam |
|---|---|---|
| Filter | filter[<name>]=<value> | Jeden parameter na filter; <name> je kľúč z allow-listu. |
| Viachodnotový filter | filter[<name>]=a,b,c | Rozdelí sa podľa čiarok → pole; exact → whereIn. |
| Hodnota ako pole | filter[<name>][]=a | Jedna úroveň vnorenia sa zarovná do zoznamu. |
| Booleovská hodnota | filter[<name>]=true / false | Skutočný bool (aj 1/0, v ľubovoľnej veľkosti písmen) len pre filter, ktorý si o to povie — boolean(), FilterValueShape::Boolean, booleans: true. Každý iný filter dostane text. |
| Operátor | filter[<name>]=<token>:<value> | Len operators(), nullable(), relation() a jsonContains(); nedeklarovaný token ostáva súčasťou hodnoty. |
| Nenastavené | filter[<name>]=none / not:none | Sentinel pre nullable() a pre relation(), ak ho dostane. |
| Triedenie vzostupne / zostupne | sort=field / sort=-field | Úvodné - = zostupne. |
| Viac triedení | sort=-created_at,name | Zľava doprava; duplicitné stĺpce sa zlúčia do prvého, najviac limits.max_sorts (rátajú sa len triedenia z allow-listu). |
| Stránkovanie | page=<n>&per_page=<n> | Názvy paginatora z Laravelu; per_page validuje HasPageSize. |
| Neznámy kľúč filtra/triedenia | Akýkoľvek kľúč mimo allow-listu | HTTP 400 (alebo sa v režime ignore zahodí; ak sa zahodia všetky triedenia, použije sa predvolené). |
| Neplatné per_page | > max, < 1, necelé číslo | HTTP 422. |
Celý request
Request, ktorý využíva všetky časti kontraktu (endpoint musí deklarovať každý filter aj triedenie):
GET /posts?filter[status]=not:draft,archived&filter[title]=laravel&filter[project]=none&sort=-created_at,title&page=2&per_page=25Názvy parametrov pochádzajú z parameters.* a pagination.* v konfigurácii; meňte ich len spolu s frontendom.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.