RelationshipSubqueryBuilder
Generated API reference for RelationshipSubqueryBuilder in @kysoql/core.
@kysoql/core / RelationshipSubqueryBuilder
Type-safe builder for a Salesforce child relationship subquery.
Type Parameters
| Type Parameter | Default type |
|---|---|
DB | - |
TB extends keyof DB | - |
O | - |
Depth extends ParentToChildDepth | readonly [unknown] |
FunctionMode extends RelationshipSubqueryFunctionMode | "none" |
ApexMode extends boolean | false |
Methods
$call()
$call<T>(func): T;Passes this builder to func and returns the callback result.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
condition | boolean |
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
| Parameter | Type |
|---|---|
limit | number |
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
| Parameter | Type |
|---|---|
expression | SoqlRawBuilder |
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
| Parameter | Type |
|---|---|
expression | DistanceOrderByFactory<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
| Parameter | Type |
|---|---|
field | OE & 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
| Parameter | Type |
|---|---|
expression | SoqlRawBuilder |
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
| Parameter | Type |
|---|---|
expression | RelationshipWhereExpressionFactory<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
| Parameter | Type |
|---|---|
lhs | RelationshipApexBindLeftExpression<ApexMode> |
op | "includes" |
rhs | readonly 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
| Parameter | Type |
|---|---|
lhs | RE & FilterableFieldName<DB, TB, RE> |
op | OP |
rhs | RHS |
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
| Parameter | Type |
|---|---|
selection | SoqlRawBuilder<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
| Parameter | Type |
|---|---|
selections | Selections & 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
| Parameter | Type |
|---|---|
selection | SelectFunctionForMode<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
| Parameter | Type |
|---|---|
selection | SE & 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
| Parameter | Type |
|---|---|
selector | Selector |
...check | FieldsSelectionCheck<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
| Parameter | Type |
|---|---|
relationship | Relationship & 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
Properties
| Property | Modifier | Type | Description |
|---|---|---|---|
pilot | readonly | RelationshipSubqueryPilotModule<DB, TB, O, Depth, FunctionMode, ApexMode> | Explicitly opt into Salesforce pilot-only relationship-subquery syntax. |