Skip to content

EagerLoadingFieldInterface ​

Type
Interface
Namespace
craft\base
Implemented by
craft\fields\Addresses, craft\fields\Assets, craft\fields\BaseRelationField, craft\fields\Categories, craft\fields\Entries, craft\fields\Matrix, craft\fields\Tags, craft\fields\Users
Since
3.0.0

EagerLoadingFieldInterface defines the common interface to be implemented by field classes that support eager-loading.

View source

Public Methods ​

MethodDescription
getEagerLoadingGqlConditions()Returns an array that lists the scopes this custom field allows when eager-loading or null if eager-loading should not be allowed in the GraphQL context.
getEagerLoadingMap()Returns an array that maps source-to-target element IDs based on this custom field.

getEagerLoadingGqlConditions() ​

Since
3.3.0

Returns an array that lists the scopes this custom field allows when eager-loading or null if eager-loading should not be allowed in the GraphQL context.

View source

Returns ​

array, null

getEagerLoadingMap() ​

Returns an array that maps source-to-target element IDs based on this custom field.

This method aids in the eager-loading of elements when performing an element query. The returned array should contain the following keys:

  • elementType – the fully qualified class name of the element type that should be eager-loaded
  • map – an array of element ID mappings, where each element is a sub-array with source and target keys.
  • criteria (optional) – Any criteria parameters that should be applied to the element query when fetching the eager-loaded elements.

View source

Arguments ​

Returns ​

array, null, false – The eager-loading element ID mappings, false if no mappings exist, or null if the result should be ignored.