Relationships
1
Basic Join
// src/config/orders.ts
import { defineTable } from '@tablecraft/engine';
import { orders, users } from '../db/schema';
export const orderConfig = defineTable(orders)
.join(users, {
on: 'orders.user_id = users.id', // SQL-like condition
type: 'left', // 'left' | 'inner' | 'right' | 'full'
columns: ['email', 'name'], // Columns to select from Users
})
.toConfig();2
Advanced Join Options
.join(users, {
alias: 'creator',
on: 'tasks.creator_id = creator.id',
columns: ['name'],
})
.join(users, {
alias: 'assignee',
on: 'tasks.assignee_id = assignee.id',
columns: ['name'],
}).join(subscriptions, {
// Join only active subscriptions
on: "users.id = subscriptions.user_id AND subscriptions.status = 'active'",
type: 'inner'
})Next Steps
Last updated
Was this helpful?
