FieldResolver
    
            
            in package
            
        
    
    
            
            Uses
                            GetSetSearchResolverTrait                    
    
Class FieldResolver Some additional introspection tools that are used often by the fulltext search code
Table of Contents
Properties
- $ancestry : array<string|int, mixed>
 - $hierarchy : array<string|int, mixed>
 - $index : BaseIndex
 
Methods
- getHierarchy() : array<string|int, mixed>
 - Get all the classes involved in a DataObject hierarchy - both super and optionally subclasses
 - getIndex() : BaseIndex
 - Get the current index
 - isSubclassOf() : bool
 - Check if class is subclass of (a) the class in $instanceOf, or (b) any of the classes in the array $instanceOf
 - resolveField() : array<string|int, mixed>
 - Resolve a field ancestry
 - setIndex() : $this
 - Set the current index
 - findOrigin() : array<string|int, mixed>
 - Find the origin of a field
 - getBuildSources() : array<string|int, mixed>
 - Get the sources to build in to a Solr field
 - getFieldOptions() : array<string|int, mixed>
 - Create field options for the given index field
 - getHierarchyClasses() : array<string|int, mixed>
 - Get the hierarchy for a class
 - getNext() : array<string|int, mixed>
 - Get the next lookup item from the buildSources
 - getOriginForType() : array<string|int, mixed>
 - Extraction to find the origin for a specific type field
 - getRelationData() : string|array<string|int, mixed>|null
 - Relational data
 - getType() : string
 - Get the type of this field
 - resolveNext() : array<string|int, array<string|int, mixed>>
 - Resolve the next item in line to be indexed
 - resolveRelation() : array<string|int, mixed>
 - Resolve relations if possible
 - excludeDataObjectIDx() : array<string|int, mixed>
 - Objects to exclude from the index
 - getFoundOriginData() : array<string|int, mixed>
 - FoundOriginData is a helper to make sure the options are properly set.
 - getSourceName() : string
 - This is used to clean the source name from suffix suffixes are needed to support multiple relations with the same name on different page types
 - getSubClasses() : array<string|int, mixed>
 - Get the subclasses for the given class Should be replaced with PHP native methods
 
Properties
$ancestry
    protected
    static    array<string|int, mixed>
    $ancestry
     = []
    
        Class Ancestry
$hierarchy
    protected
    static    array<string|int, mixed>
    $hierarchy
     = []
    
        Class Hierarchy, could be replaced with Ancestry
$index
    protected
        BaseIndex
    $index
    
    
        Index to use
Methods
getHierarchy()
Get all the classes involved in a DataObject hierarchy - both super and optionally subclasses
    public
            static        getHierarchy(string $class[, bool $dataOnly = false ]) : array<string|int, mixed>
    Parameters
- $class : string
 - 
                    
- The class to query
 
 - $dataOnly : bool = false
 - 
                    
- True to only return classes that have tables
 
 
Tags
Return values
array<string|int, mixed> —- Integer keys, String values as classes sorted by depth (most super first)
 
getIndex()
Get the current index
    public
                    getIndex() : BaseIndex
    Return values
BaseIndexisSubclassOf()
Check if class is subclass of (a) the class in $instanceOf, or (b) any of the classes in the array $instanceOf
    public
            static        isSubclassOf(string $class, array<string|int, mixed>|string $instanceOf) : bool
    Parameters
- $class : string
 - 
                    
Name of the class to test
 - $instanceOf : array<string|int, mixed>|string
 - 
                    
Class ancestry it should be in
 
Tags
Return values
boolresolveField()
Resolve a field ancestry
    public
                    resolveField( $field) : array<string|int, mixed>
    Parameters
Tags
Return values
array<string|int, mixed>setIndex()
Set the current index
    public
                    setIndex(mixed $index) : $this
    Parameters
- $index : mixed
 
Return values
$thisfindOrigin()
Find the origin of a field
    protected
                    findOrigin( $field,  $fullfield, array<string|int, mixed> $found,  $class,  $fieldOptions) : array<string|int, mixed>
    Parameters
Tags
Return values
array<string|int, mixed>getBuildSources()
Get the sources to build in to a Solr field
    protected
                    getBuildSources() : array<string|int, mixed>
    Return values
array<string|int, mixed>getFieldOptions()
Create field options for the given index field
    protected
                    getFieldOptions( $field, array<string|int, mixed> $sources, string $fullfield, array<string|int, mixed> $found) : array<string|int, mixed>
    Parameters
Tags
Return values
array<string|int, mixed>getHierarchyClasses()
Get the hierarchy for a class
    protected
            static        getHierarchyClasses( $class) : array<string|int, mixed>
    Parameters
Tags
Return values
array<string|int, mixed>getNext()
Get the next lookup item from the buildSources
    protected
                    getNext(array<string|int, mixed> $buildSources,  $lookup) : array<string|int, mixed>
    Parameters
Tags
Return values
array<string|int, mixed>getOriginForType()
Extraction to find the origin for a specific type field
    protected
                    getOriginForType( $field,  $fullfield, array<string|int, mixed> $found,  $fieldOptions,  $dataclass, string $type) : array<string|int, mixed>
    Parameters
Return values
array<string|int, mixed>getRelationData()
Relational data
    protected
                    getRelationData( $lookup, DataObjectSchema $schema,  $className, array<string|int, mixed> &$options) : string|array<string|int, mixed>|null
    Parameters
Tags
Return values
string|array<string|int, mixed>|nullgetType()
Get the type of this field
    protected
                    getType(array<string|int, mixed> $fields, string $field, string $dataclass) : string
    Parameters
- $fields : array<string|int, mixed>
 - $field : string
 - $dataclass : string
 
Return values
stringresolveNext()
Resolve the next item in line to be indexed
    protected
                    resolveNext(array<string|int, mixed> $options,  $lookup,  $dataClass, string $source, array<string|int, mixed> $next) : array<string|int, array<string|int, mixed>>
    Parameters
- $options : array<string|int, mixed>
 - $lookup :
 - $dataClass :
 - $source : string
 - $next : array<string|int, mixed>
 
Tags
Return values
array<string|int, array<string|int, mixed>>resolveRelation()
Resolve relations if possible
    protected
                    resolveRelation(string $source,  $lookup, array<string|int, mixed> $next, array<string|int, mixed> &$options) : array<string|int, mixed>
    Parameters
Tags
Return values
array<string|int, mixed>excludeDataObjectIDx()
Objects to exclude from the index
    private
            static        excludeDataObjectIDx(array<string|int, mixed> $classes) : array<string|int, mixed>
    Parameters
- $classes : array<string|int, mixed>
 
Return values
array<string|int, mixed>getFoundOriginData()
FoundOriginData is a helper to make sure the options are properly set.
    private
                    getFoundOriginData(string $field, string $fullField, array<string|int, mixed> $fieldOptions, string $dataclass, string $type, array<string|int, mixed> $found) : array<string|int, mixed>
    Parameters
- $field : string
 - $fullField : string
 - $fieldOptions : array<string|int, mixed>
 - $dataclass : string
 - $type : string
 - $found : array<string|int, mixed>
 
Return values
array<string|int, mixed>getSourceName()
This is used to clean the source name from suffix suffixes are needed to support multiple relations with the same name on different page types
    private
                    getSourceName(string $source) : string
    Parameters
- $source : string
 
Return values
stringgetSubClasses()
Get the subclasses for the given class Should be replaced with PHP native methods
    private
            static        getSubClasses( $class, array<string|int, mixed> $classes) : array<string|int, mixed>