이 패키지를 사용하면 요청에 따라 설득력 있는 관계를 필터링, 정렬 및 포함할 수 있습니다. 이 패키지에 사용된 QueryBuilder
Laravel의 기본 Eloquent 빌더를 확장합니다. 이는 즐겨 사용하는 모든 방법과 매크로를 계속 사용할 수 있음을 의미합니다. 쿼리 매개변수 이름은 JSON API 사양을 최대한 따릅니다.
/users?filter[name]=John
: use Spatie QueryBuilder QueryBuilder ;
$ users = QueryBuilder:: for (User::class)
-> allowedFilters ( ' name ' )
-> get ();
// all `User`s that contain the string "John" in their name
부분 필터, 정확한 필터, 범위 필터, 사용자 정의 필터, 무시된 값, 기본 필터 값 등과 같은 필터링 기능에 대해 자세히 알아보세요.
/users?include=posts
: $ users = QueryBuilder:: for (User::class)
-> allowedIncludes ( ' posts ' )
-> get ();
// all `User`s with their `posts` loaded
다음과 같은 포함 기능에 대해 자세히 알아보세요. 중첩 관계 포함, 관계 수, 사용자 정의 포함 등...
/users?sort=id
: $ users = QueryBuilder:: for (User::class)
-> allowedSorts ( ' id ' )
-> get ();
// all `User`s sorted by ascending id
사용자 정의 정렬, 정렬 방향 등과 같은 정렬 기능에 대해 자세히 알아보세요.
$ query = User:: where ( ' active ' , true );
$ userQuery = QueryBuilder:: for ( $ query ) // start from an existing Builder instance
-> withTrashed () // use your existing scopes
-> allowedIncludes ( ' posts ' , ' permissions ' )
-> where ( ' score ' , ' > ' , 42 ); // chain on any of Laravel's query builder methods
/users?fields[users]=id,email
$ users = QueryBuilder:: for (User::class)
-> allowedFields ([ ' id ' , ' email ' ])
-> get ();
// the fetched `User`s will only have their id & email set
필드 선택에 대해 자세히 알아보세요.
우리는 동급 최고의 오픈 소스 패키지를 만드는 데 많은 리소스를 투자합니다. 유료 제품 중 하나를 구매하여 우리를 지원할 수 있습니다.
귀하가 사용하고 있는 당사 패키지를 언급하면서 귀하의 고향에서 엽서를 보내주셔서 진심으로 감사드립니다. 연락처 페이지에서 주소를 확인하실 수 있습니다. 우리는 수신된 모든 엽서를 가상 엽서 월에 게시합니다.
작곡가를 통해 패키지를 설치할 수 있습니다.
composer require spatie/laravel-query-builder
문서 사이트(https://spatie.be/docs/laravel-query-builder/v5/installation-setup)에서 설치 노트를 읽어보세요.
https://spatie.be/docs/laravel-query-builder/v5에서 문서를 찾을 수 있습니다.
패키지 사용에 어려움을 겪고 계시나요? 버그를 발견하셨나요? 미디어 라이브러리 개선을 위한 일반적인 질문이나 제안 사항이 있습니까? GitHub에서 자유롭게 문제를 생성해 주시면 최대한 빨리 해결하도록 노력하겠습니다.
보안 관련 버그를 발견한 경우 이슈 트래커를 사용하는 대신 [email protected]로 메일을 보내주세요.
자세한 내용은 UPGRADING.md를 참조하세요.
composer test
최근 변경된 사항에 대한 자세한 내용은 CHANGELOG를 참조하세요.
자세한 내용은 CONTRIBUTING을 참조하세요.
보안 관련 버그를 발견한 경우 이슈 트래커를 사용하는 대신 [email protected]로 메일을 보내주세요.
MIT 라이센스(MIT). 자세한 내용은 라이센스 파일을 참조하십시오.