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 61d8be98_3eda_861e_abc6_bd1569b7ed6a["with()"] 0d0261da_c711_2751_2e5c_424aaf5ca574["QueryBuilder"] 61d8be98_3eda_861e_abc6_bd1569b7ed6a -->|defined in| 0d0261da_c711_2751_2e5c_424aaf5ca574 f404f159_0e82_a120_c371_124e35d10734["select()"] 61d8be98_3eda_861e_abc6_bd1569b7ed6a -->|calls| f404f159_0e82_a120_c371_124e35d10734 59e789ad_1e31_1aa4_c714_98dd659657c7["getDialect()"] 61d8be98_3eda_861e_abc6_bd1569b7ed6a -->|calls| 59e789ad_1e31_1aa4_c714_98dd659657c7 0c784dc9_4276_537e_74ac_c4bd826d9957["selectDistinct()"] 61d8be98_3eda_861e_abc6_bd1569b7ed6a -->|calls| 0c784dc9_4276_537e_74ac_c4bd826d9957 e3483429_ee9e_f1d9_d170_1047a72c193c["selectDistinctOn()"] 61d8be98_3eda_861e_abc6_bd1569b7ed6a -->|calls| e3483429_ee9e_f1d9_d170_1047a72c193c style 61d8be98_3eda_861e_abc6_bd1569b7ed6a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/pg-core/query-builders/query-builder.ts lines 49–96
with(...queries: WithSubquery[]) {
const self = this;
function select(): PgSelectBuilder<undefined, 'qb'>;
function select<TSelection extends SelectedFields>(fields: TSelection): PgSelectBuilder<TSelection, 'qb'>;
function select<TSelection extends SelectedFields>(
fields?: TSelection,
): PgSelectBuilder<TSelection | undefined, 'qb'> {
return new PgSelectBuilder({
fields: fields ?? undefined,
session: undefined,
dialect: self.getDialect(),
withList: queries,
});
}
function selectDistinct(): PgSelectBuilder<undefined, 'qb'>;
function selectDistinct<TSelection extends SelectedFields>(fields: TSelection): PgSelectBuilder<TSelection, 'qb'>;
function selectDistinct<TSelection extends SelectedFields>(
fields?: TSelection,
): PgSelectBuilder<TSelection | undefined, 'qb'> {
return new PgSelectBuilder({
fields: fields ?? undefined,
session: undefined,
dialect: self.getDialect(),
distinct: true,
});
}
function selectDistinctOn(on: (PgColumn | SQLWrapper)[]): PgSelectBuilder<undefined, 'qb'>;
function selectDistinctOn<TSelection extends SelectedFields>(
on: (PgColumn | SQLWrapper)[],
fields: TSelection,
): PgSelectBuilder<TSelection, 'qb'>;
function selectDistinctOn<TSelection extends SelectedFields>(
on: (PgColumn | SQLWrapper)[],
fields?: TSelection,
): PgSelectBuilder<TSelection | undefined, 'qb'> {
return new PgSelectBuilder({
fields: fields ?? undefined,
session: undefined,
dialect: self.getDialect(),
distinct: { on },
});
}
return { select, selectDistinct, selectDistinctOn };
}
Domain
Subdomains
Source
Frequently Asked Questions
What does with() do?
with() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/query-builders/query-builder.ts.
Where is with() defined?
with() is defined in drizzle-orm/src/pg-core/query-builders/query-builder.ts at line 49.
What does with() call?
with() calls 4 function(s): getDialect, select, selectDistinct, selectDistinctOn.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free