GraphQL ORM is a lightweight GraphQL ORM for PHP/Symfony, inspired by concepts from Doctrine ORM.
It allows you to map PHP objects to a GraphQL API using attributes, and provides repositories, a query builder, automatic hydration, relation handling, schema validation, and deep Symfony integration.
composer require hecht-a/graphql-orm# config/packages/graphql_orm.yaml
graphql_orm:
endpoint: 'http://localhost:4000/graphql'
mapping:
entity:
dir: '%kernel.project_dir%/src/GraphQL/Entity'
namespace: App\GraphQL\Entity
repository:
dir: '%kernel.project_dir%/src/GraphQL/Repository'
namespace: App\GraphQL\Repositoryphp bin/console graphqlorm:make:entity Task$tasks = $taskRepository->findAll();
$tasks = $taskRepository->createQueryBuilder()
->select('id', 'title', 'user.name')
->where($qb->expr()->eq('status', 'active'))
->limit(10)
->getQuery()
->getResult();- Configuration
- Entity mapping
- Repositories
- Query Builder
- Pagination
- Dialects
- Schema validation
- Logging
- Profiler
- Hydration hooks —
#[BeforeHydrate],#[AfterHydrate] - Console commands