private function resolveSubJoin(JoinGroup
$group, EntityDefinition
$definition, QueryBuilder
$query, Context
$context): void
{ $fields = EntityDefinitionQueryHelper::
getFieldsOfAccessor($definition,
$group->
getPath(), false
);
$first =
array_shift($fields);
if (!
$first instanceof AssociationField
) { throw new \
RuntimeException('Expect association field in first level of join group'
);
} $nested =
$this->
createNestedQuery($first,
$definition,
$context);
foreach ($group->
getFields() as $accessor) { if ($accessor === '_score'
) { continue;
} $this->
resolveField($group,
$accessor,
$definition,
$nested,
$context);
} $alias =
$definition->
getEntityName() . '.' .
$first->
getPropertyName() .
$group->
getSuffix();
$this->
parseFilter($group,
$definition,
$nested,
$context,
$alias);