astrotomic / graphql-query-builder
0.1.0
2021-08-11 14:32 UTC
Requires
- php: ^7.4 || ^8.0
Requires (Dev)
- pestphp/pest: ^v1.15.0
- spatie/pest-plugin-snapshots: ^1.1
README
此包是一个具有主观观点的 GraphQL 查询构建器,目前不完全兼容所有 GraphQL 规范。如果您缺少某个功能,可以提出问题,我们可以讨论解决方案。
安装
composer require astrotomic/graphql-query-builder
用法
use Astrotomic\GraphqlQueryBuilder\Graph; use Astrotomic\GraphqlQueryBuilder\Query; Graph::query( Query::from('user') ->with(['login' => 'Gummibeer']) ->select( Query::from('sponsorshipsAsMaintainer') ->with(['first' => 100, 'after' => 'ABC']) ->select( Query::from('pageInfo')->select('hasNextPage', 'endCursor'), Query::from('nodes')->select( Query::from('sponsorEntity')->select( '__typename', Query::for('User')->select('login', 'avatarUrl', 'databaseId', 'name'), Query::for('Organization')->select('login', 'avatarUrl', 'databaseId', 'name'), ) ) ) ) )
query { user(login: "Gummibeer") { sponsorshipsAsMaintainer(first: 100, after: "ABC") { pageInfo { hasNextPage endCursor } nodes { sponsorEntity { __typename ... on User { login avatarUrl databaseId name } ... on Organization { login avatarUrl databaseId name } } } } } }