Home / Function/ $with() — drizzle-orm Function Reference

$with() — drizzle-orm Function Reference

Architecture documentation for the $with() function in query-builder.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  e95e4155_9cea_5297_70d3_53ed0fbf9e65["$with()"]
  4d1210ae_09b8_d3bc_6c8e_d393ccd84bdd["QueryBuilder"]
  e95e4155_9cea_5297_70d3_53ed0fbf9e65 -->|defined in| 4d1210ae_09b8_d3bc_6c8e_d393ccd84bdd
  style e95e4155_9cea_5297_70d3_53ed0fbf9e65 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/gel-core/query-builders/query-builder.ts lines 24–41

	$with<TAlias extends string>(alias: TAlias) {
		const queryBuilder = this;

		return {
			as<TSelection extends ColumnsSelection>(
				qb: TypedQueryBuilder<TSelection> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection>),
			): WithSubqueryWithSelection<TSelection, TAlias> {
				if (typeof qb === 'function') {
					qb = qb(queryBuilder);
				}

				return new Proxy(
					new WithSubquery(qb.getSQL(), qb.getSelectedFields() as SelectedFields, alias, true),
					new SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }),
				) as WithSubqueryWithSelection<TSelection, TAlias>;
			},
		};
	}

Domain

Subdomains

Frequently Asked Questions

What does $with() do?
$with() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/gel-core/query-builders/query-builder.ts.
Where is $with() defined?
$with() is defined in drizzle-orm/src/gel-core/query-builders/query-builder.ts at line 24.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free