EagerLoadingFieldInterface

Type
Interface
Namespace
craft\base
Implemented by
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 (opens new window)

# Public Methods

Method Description
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 (opens new window)

Returns

array (opens new window), null (opens new window)

# 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 (opens new window)

Arguments

Returns

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