GitHunt
AP

API-Skeletons/zf-doctrine-graphql

GraphQL for Doctrine using Hydrators

GraphQL for Doctrine using Hydrators

Build Status
Coverage
PHPStan
Gitter
Patreon
Total Downloads

This library uses Doctrine native traversal of related objects to provide full GraphQL
querying of entities and all related fields and entities.
Entity metadata is introspected and is therefore Doctrine data driver agnostic.
Data is collected with hydrators thereby
allowing full control over each field using hydrator filters, strategies and naming strategies.
Multiple object managers are supported. Multiple hydrator configurations are supported.
Works with GraphiQL.

A range of filters
are provided to filter collections at any location in the query.

Doctrine provides easy taversal of your database. Consider the following imaginary query:

$entity[where id = 5]
  ->getRelation()
    ->getField1()
    ->getField2()
    ->getManyToOne([where name like '%dev%'])
      ->getName()
      ->getField3()
  ->getOtherRelation()
    ->getField4()
    ->getField5()

And see it realized in GraphQL with fine grained control over each field via hydrators:

  { 
    entity (filter: { id: 5 }) { 
      relation { 
        field1 
        field2 
        manyToOne (filter: { name_contains: 'dev' }) { 
          name 
          field3 
        } 
      } otherRelation { 
        field4 
        field5 
      } 
    } 
  }

Read the Documentation

Languages

PHP100.0%

Contributors

MIT License
Created May 31, 2018
Updated January 28, 2026
API-Skeletons/zf-doctrine-graphql | GitHunt