getProductsBaseQuery
Get a base SelectQuery for querying products with descriptions, inventory, and main images joined.
Import
import { getProductsBaseQuery } from "@evershop/evershop/catalog/services";
Syntax
getProductsBaseQuery(): SelectQuery
Parameters
None.
Return Value
Returns a SelectQuery object with:
- Base table:
product - Left join:
product_descriptiononproduct_description_product_id = product_id - Inner join:
product_inventoryonproduct_inventory_product_id = product_id - Left join:
product_image(only main image whereis_main = true)
Examples
Basic Usage
import { getProductsBaseQuery } from "@evershop/evershop/catalog/services";
import { pool } from "@evershop/evershop/lib/postgres";
const query = getProductsBaseQuery();
// Load all visible products
const products = await query
.where('visibility', '=', 'visible')
.where('status', '=', 1)
.execute(pool);
Get Single Product
import { getProductsBaseQuery } from "@evershop/evershop/catalog/services";
import { pool } from "@evershop/evershop/lib/postgres";
const query = getProductsBaseQuery();
// Load product by SKU
const product = await query
.where('sku', '=', 'LAPTOP-123')
.load(pool);
console.log(product.name);
console.log(product.price);
console.log(product.qty);
See Also
- select - Create SELECT queries
- getCategoriesBaseQuery - Get base query for categories
- getProductsByCategoryBaseQuery - Get products by category
- getProductsByCollectionBaseQuery - Get products by collection