69 lines
1.4 KiB
Markdown
69 lines
1.4 KiB
Markdown
# TaylorDB Attachments
|
|
|
|
Attachments are treated as **standard columns** and can be selected and written like other fields, using helper utilities for uploads.
|
|
|
|
This document covers:
|
|
|
|
- Selecting attachment fields
|
|
- Creating records with attachments
|
|
- Updating attachments
|
|
|
|
---
|
|
|
|
## Select Attachments
|
|
|
|
```typescript
|
|
// New Standard: Use regular .select() like any other field.
|
|
const expenses = await qb
|
|
.selectFrom("expenses")
|
|
.select(["id", "amount", "receipt"])
|
|
.execute();
|
|
```
|
|
|
|
---
|
|
|
|
## Create with Attachments
|
|
|
|
Use `qb.uploadAttachments` to upload files before inserting.
|
|
|
|
```typescript
|
|
await qb
|
|
.insertInto("customers")
|
|
.values({
|
|
firstName: "Jane",
|
|
lastName: "Doe",
|
|
avatar: await qb.uploadAttachments([
|
|
{ file: new Blob([""]), name: "test.png" },
|
|
]),
|
|
})
|
|
.execute();
|
|
```
|
|
|
|
---
|
|
|
|
## Update with Attachments
|
|
|
|
```typescript
|
|
await qb
|
|
.update("customers")
|
|
.set({
|
|
lastName: "Smith",
|
|
avatar: await qb.uploadAttachments([
|
|
{ file: new Blob([""]), name: "test.png" },
|
|
]),
|
|
})
|
|
.where("id", "=", 1)
|
|
.execute();
|
|
```
|
|
|
|
---
|
|
|
|
For more topics, see:
|
|
|
|
- `TAYLORDB_BASIC_QUERIES.md` for basic reads and filtering
|
|
- `TAYLORDB_WRITE_OPERATIONS.md` for inserts, updates, and deletes
|
|
- `TAYLORDB_ADVANCED_PATTERNS.md` for aggregations, pagination, and conditional queries
|
|
- `TAYLORDB_FIELD_TYPES.md` for field type handling and enums
|
|
- `TAYLORDB_PITFALLS_BEST_PRACTICES.md` for pitfalls and best practices
|
|
|