Home / Function/ having() — drizzle-orm Function Reference

having() — drizzle-orm Function Reference

Architecture documentation for the having() function in index.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  7e405eaf_1c57_a904_6668_bc3ffdef40ab["having()"]
  34f01008_7c45_3804_1fad_b8b59cd8a413["MyDurableObject"]
  7e405eaf_1c57_a904_6668_bc3ffdef40ab -->|defined in| 34f01008_7c45_3804_1fad_b8b59cd8a413
  7c7acbfe_6328_c8df_feba_552ee62a84d9["default.fetch()"]
  7c7acbfe_6328_c8df_feba_552ee62a84d9 -->|calls| 7e405eaf_1c57_a904_6668_bc3ffdef40ab
  b19b108f_def7_3a32_99a3_c8be51ce2fbf["beforeEach()"]
  7e405eaf_1c57_a904_6668_bc3ffdef40ab -->|calls| b19b108f_def7_3a32_99a3_c8be51ce2fbf
  style 7e405eaf_1c57_a904_6668_bc3ffdef40ab fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

integration-tests/tests/sqlite/durable-objects/index.ts lines 1765–1812

	async having(): Promise<void> {
		try {
			await this.beforeEach();
			this.db
				.insert(citiesTable)
				.values([{ name: 'London' }, { name: 'Paris' }, { name: 'New York' }])
				.run();

			this.db
				.insert(users2Table)
				.values([
					{ name: 'John', cityId: 1 },
					{ name: 'Jane', cityId: 1 },
					{ name: 'Jack', cityId: 2 },
				])
				.run();

			const result = this.db
				.select({
					id: citiesTable.id,
					name: sql<string>`upper(${citiesTable.name})`.as('upper_name'),
					usersCount: sql<number>`count(${users2Table.id})`.as('users_count'),
				})
				.from(citiesTable)
				.leftJoin(users2Table, eq(users2Table.cityId, citiesTable.id))
				.where(({ name }) => sql`length(${name}) >= 3`)
				.groupBy(citiesTable.id)
				.having(({ usersCount }) => sql`${usersCount} > 0`)
				.orderBy(({ name }) => name)
				.all();

			expect(result).deep.equal([
				{
					id: 1,
					name: 'LONDON',
					usersCount: 2,
				},
				{
					id: 2,
					name: 'PARIS',
					usersCount: 1,
				},
			]);
		} catch (error: any) {
			console.error(error);
			throw new Error(`having error`);
		}
	}

Domain

Subdomains

Calls

Called By

Frequently Asked Questions

What does having() do?
having() is a function in the drizzle-orm codebase, defined in integration-tests/tests/sqlite/durable-objects/index.ts.
Where is having() defined?
having() is defined in integration-tests/tests/sqlite/durable-objects/index.ts at line 1765.
What does having() call?
having() calls 1 function(s): beforeEach.
What calls having()?
having() is called by 1 function(s): default.fetch.

Analyze Your Own Codebase

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

Try Supermodel Free