Kysoql
ReferenceAPI referenceInterfaces

RelationshipSubqueryBuilder

Generated API reference for RelationshipSubqueryBuilder in @kysoql/core.

@kysoql/core / RelationshipSubqueryBuilder

Type-safe builder for a Salesforce child relationship subquery.

Type Parameters

Type ParameterDefault type
DB-
TB extends keyof DB-
O-
Depth extends ParentToChildDepthreadonly [unknown]
FunctionMode extends RelationshipSubqueryFunctionMode"none"
ApexMode extends booleanfalse

Methods

$call()

$call<T>(func): T;

Passes this builder to func and returns the callback result.

Type Parameters

Type Parameter
T

Parameters

ParameterType
func(qb) => T

Returns

T


$assertType()

$assertType<T>(): O extends T ? RelationshipSubqueryBuilder<DB, TB, T, Depth, FunctionMode, ApexMode> : KysoqlTypeError<"$assertType() call failed: The type passed in is not equal to the output type of the query.">;

Asserts at compile time that the current query output exactly matches T.

Type Parameters

Type Parameter
T

Returns

O extends T ? RelationshipSubqueryBuilder<DB, TB, T, Depth, FunctionMode, ApexMode> : KysoqlTypeError<"$assertType() call failed: The type passed in is not equal to the output type of the query.">


$castTo()

$castTo<C>(): RelationshipSubqueryBuilder<DB, TB, C, Depth, FunctionMode, ApexMode>;

Changes only the TypeScript output type; the generated SOQL is unchanged.

Type Parameters

Type Parameter
C

Returns

RelationshipSubqueryBuilder<DB, TB, C, Depth, FunctionMode, ApexMode>


$narrowType()

$narrowType<T>(): RelationshipSubqueryBuilder<DB, TB, NarrowPartial<O, T>, Depth, FunctionMode, ApexMode>;

Narrows selected output properties at the type level without changing SOQL.

Type Parameters

Type Parameter
T

Returns

RelationshipSubqueryBuilder<DB, TB, NarrowPartial<O, T>, Depth, FunctionMode, ApexMode>


$if()

$if<O2>(condition, func): RelationshipSubqueryBuilder<DB, TB, ConditionalOutput<O, O2>, Depth, FunctionMode, ApexMode>;

Conditionally applies a builder callback; when false, the runtime query is unchanged.

Type Parameters

Type Parameter
O2

Parameters

ParameterType
conditionboolean
func(qb) => RelationshipSubqueryBuilder<DB, TB, O & O2, Depth, FunctionMode, ApexMode>

Returns

RelationshipSubqueryBuilder<DB, TB, ConditionalOutput<O, O2>, Depth, FunctionMode, ApexMode>


clearLimit()

clearLimit(): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Returns a builder with the LIMIT clause removed.

Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>


clearOrderBy()

clearOrderBy(): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Returns a builder with all ORDER BY items removed.

Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>


clearSelect()

clearSelect(): RelationshipSubqueryBuilder<DB, TB, unknown, Depth, ClearedFunctionMode<FunctionMode>, ApexMode>;

Returns a builder with all current selections removed.

Returns

RelationshipSubqueryBuilder<DB, TB, unknown, Depth, ClearedFunctionMode<FunctionMode>, ApexMode>


clearWhere()

clearWhere(): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Returns a builder with the WHERE predicate removed.

Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>


limit()

limit(limit): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Adds or replaces the SOQL LIMIT clause.

Parameters

ParameterType
limitnumber

Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>


orderBy()

Call Signature

orderBy(
   expression,
   direction?,
   nulls?
): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Adds a typed ORDER BY item.

Parameters
ParameterType
expressionSoqlRawBuilder
direction?OrderByDirection
nulls?OrderByNulls
Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>

Call Signature

orderBy(
   expression,
   direction?,
   nulls?
): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Adds a typed ORDER BY item.

Parameters
ParameterType
expressionDistanceOrderByFactory<DB, TB>
direction?OrderByDirection
nulls?OrderByNulls
Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>

Call Signature

orderBy<OE>(
   field,
   direction?,
   nulls?
): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Adds a typed ORDER BY item.

Type Parameters
Type Parameter
OE extends string
Parameters
ParameterType
fieldOE & SortableFieldName<DB, TB, OE>
direction?OrderByDirection
nulls?OrderByNullsForReference<DB, TB, OE>
Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>


where()

Call Signature

where(expression): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Adds a typed WHERE predicate and combines it with any existing predicate using AND.

Parameters
ParameterType
expressionSoqlRawBuilder
Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>

Call Signature

where(expression): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Adds a typed WHERE predicate and combines it with any existing predicate using AND.

Parameters
ParameterType
expressionRelationshipWhereExpressionFactory<DB, TB, ApexMode>
Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>

Call Signature

where(
   lhs,
   op,
   rhs
): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Adds a typed WHERE predicate and combines it with any existing predicate using AND.

Parameters
ParameterType
lhsRelationshipApexBindLeftExpression<ApexMode>
op"includes"
rhsreadonly string[]
Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>

Call Signature

where<RE, OP, RHS>(
   lhs,
   op,
   rhs
): RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>;

Adds a typed WHERE predicate and combines it with any existing predicate using AND.

Type Parameters
Type Parameter
RE extends string
OP extends | "=" | "!=" | OrderedComparisonOperator | "in" | "not in" | MultiSelectComparisonOperator | "like"
RHS
Parameters
ParameterType
lhsRE & FilterableFieldName<DB, TB, RE>
opOP
rhsRHS
Returns

RelationshipSubqueryBuilder<DB, TB, O, Depth, FunctionMode, ApexMode>


select()

Call Signature

select<RawOutput>(selection): RelationshipSubqueryBuilder<DB, TB, O & RawOutput, Depth, FunctionMode, ApexMode>;

Adds one or more typed selections to the query output.

Type Parameters
Type Parameter
RawOutput
Parameters
ParameterType
selectionSoqlRawBuilder<RawOutput>
Returns

RelationshipSubqueryBuilder<DB, TB, O & RawOutput, Depth, FunctionMode, ApexMode>

Call Signature

select<Selections>(selections): RelationshipSubqueryBuilder<DB, TB, O & Selection<DB, TB, Selections[number]>, Depth, FunctionMode, ApexMode>;

Adds one or more typed selections to the query output.

Type Parameters
Type Parameter
Selections extends readonly string[]
Parameters
ParameterType
selectionsSelections & CheckedSelectExpressionList<DB, TB, O, Selections>
Returns

RelationshipSubqueryBuilder<DB, TB, O & Selection<DB, TB, Selections[number]>, Depth, FunctionMode, ApexMode>

Call Signature

select<FunctionSelection>(selection): RelationshipSubqueryBuilder<DB, TB, O & SelectFunctionSelection<FunctionSelection>, Depth, "present", ApexMode>;

Adds one or more typed selections to the query output.

Type Parameters
Type Parameter
FunctionSelection extends SelectFunctionSelectionArg
Parameters
ParameterType
selectionSelectFunctionForMode<FunctionMode, (eb) => FunctionSelection>
Returns

RelationshipSubqueryBuilder<DB, TB, O & SelectFunctionSelection<FunctionSelection>, Depth, "present", ApexMode>

Call Signature

select<SE>(selection): RelationshipSubqueryBuilder<DB, TB, O & Selection<DB, TB, SE>, Depth, FunctionMode, ApexMode>;

Adds one or more typed selections to the query output.

Type Parameters
Type Parameter
SE extends string
Parameters
ParameterType
selectionSE & SelectExpression<DB, TB, SE> & AvailableSelectExpression<DB, TB, O, SE>
Returns

RelationshipSubqueryBuilder<DB, TB, O & Selection<DB, TB, SE>, Depth, FunctionMode, ApexMode>


selectFields()

selectFields<Selector>(selector, ...check): RelationshipSubqueryBuilder<DB, TB, O & FieldsSelection<DB, TB, Selector>, Depth, FunctionMode, ApexMode>;

Select a server-expanded group; unavailable on field-filtered schemas.

Type Parameters

Type Parameter
Selector extends FieldsSelector

Parameters

ParameterType
selectorSelector
...checkFieldsSelectionCheck<DB, TB, O, Selector>

Returns

RelationshipSubqueryBuilder<DB, TB, O & FieldsSelection<DB, TB, Selector>, Depth, FunctionMode, ApexMode>


selectSubquery()

selectSubquery<Relationship, SubqueryOutput, SubqueryFunctionMode>(relationship, callback): RelationshipSubqueryBuilder<DB, TB, O & { readonly [Key in string]: SalesforceQueryResult<Simplify<SubqueryOutput>> }, Depth, MergeFunctionMode<FunctionMode, SubqueryFunctionMode>, ApexMode>;

Adds a typed child-relationship subquery selection.

Type Parameters

Type Parameter
Relationship extends string
SubqueryOutput
SubqueryFunctionMode extends RelationshipSubqueryFunctionMode

Parameters

ParameterType
relationshipRelationship & SelectableChildRelationship<DB, TB, Relationship, Depth>
callback(query) => RelationshipSubqueryBuilder<DB, ChildObjectName<DB, TB, Extract<Relationship, ChildRelationshipName<DB, TB>>>, SubqueryOutput, readonly [Depth, unknown], SubqueryFunctionMode, ApexMode>

Returns

RelationshipSubqueryBuilder<DB, TB, O & { readonly [Key in string]: SalesforceQueryResult<Simplify<SubqueryOutput>> }, Depth, MergeFunctionMode<FunctionMode, SubqueryFunctionMode>, ApexMode>


toOperationNode()

toOperationNode(): RelationshipSubqueryNode;

Returns the immutable operation node represented by this builder.

Returns

RelationshipSubqueryNode

Properties

PropertyModifierTypeDescription
pilotreadonlyRelationshipSubqueryPilotModule<DB, TB, O, Depth, FunctionMode, ApexMode>Explicitly opt into Salesforce pilot-only relationship-subquery syntax.

On this page