- DataObject query plugins
- Learn about some of the useful goodies that come pre-packaged with DataObject queries
- DataObject operation permissions
- A look at how permissions work for DataObject queries and mutations
- DataObject inheritance
- Learn how inheritance is handled in DataObject model types
- Adding DataObject models to the schema
- An overview of how the DataObject model can influence the creation of types, queries, and mutations
- Versioned content
- A guide on how DataObject models with the Versioned extension behave in GraphQL schemas
- Property mapping and dot syntax
- Learn how to customise field names, use dot syntax, and use aggregate functions
- Nested type definitions
- Define dependent types inline with a parent type
Nested type definitions
For readability and ergonomics, you can take advantage of nested type definitions. Let's imagine
we have a
Blog and we want to expose
Categories, but while we're at it, we want
to specify what fields they should have.
# app/_graphql/models.yml App\PageType\Blog: fields: title: true author: fields: firstName: true surname: true email: true categories: fields: '*'
Alternatively, we could flatten that out:
# app/_graphql/models.yml App\PageType\Blog: fields: title: true author: true categories: true SilverStripe\Security\Member: fields: firstName: true surname: true email: true App\Model\BlogCategory: fields: '*'