Skip to main content

getProductsByCollectionBaseQuery

Get a base SelectQuery for querying products filtered by a specific collection.

Import

import { getProductsByCollectionBaseQuery } from "@evershop/evershop/catalog/services";

Syntax

getProductsByCollectionBaseQuery(collectionId: number): SelectQuery

Parameters

collectionId

Type: number

The collection ID to filter products by.

Return Value

Returns a SelectQuery with:

  • Base query from getProductsBaseQuery()
  • Left join to product_collection table
  • Filter by collection ID

Examples

Basic Usage

import { getProductsByCollectionBaseQuery } from "@evershop/evershop/catalog/services";
import { pool } from "@evershop/evershop/lib/postgres";

// Get products from collection ID 3
const query = getProductsByCollectionBaseQuery(3);

const products = await query
.where('status', '=', 1)
.execute(pool);

With Additional Filters

import { getProductsByCollectionBaseQuery } from "@evershop/evershop/catalog/services";
import { pool } from "@evershop/evershop/lib/postgres";

const query = getProductsByCollectionBaseQuery(3);

// Filter by price range
const products = await query
.where('status', '=', 1)
.andWhere('price', '>=', 20)
.andWhere('price', '<=', 100)
.orderBy('price', 'ASC')
.execute(pool);

See Also