Tài liệu

Phương thức Repository

Phương thức Repository Repository là cách chính để làm việc với bảng cơ sở dữ liệu trong Enfyra. Mỗi bảng bạn tạo tự có một repository, truy cập qua $ctx.$repos.tableName . Tham chiếu nhanh Các phương thức làm việc với bản ghi trả dữ liệu theo dạng: { data: [...], // Array of rec

Phương thức Repository

Repository là cách chính để làm việc với bảng cơ sở dữ liệu trong Enfyra. Mỗi bảng bạn tạo tự có một repository, truy cập qua $ctx.$repos.tableName.

Tham chiếu nhanh

Các phương thức làm việc với bản ghi trả dữ liệu theo dạng:

{
  data: [...],        // Array of records
  meta: {            // Metadata (when requested)
    totalCount: 100,
    filterCount: 25
  }
}

aggregate() cũng trả { data: [...] }, nhưng các row chỉ chứa dimension và measure đã tính toán; không trả raw record và không dùng meta.aggregate.

Các phương thức có sẵn: - Tìm — Truy vấn raw record với filter, sắp xếp và phân trang - Aggregate — Trả summary đơn giản hoặc grouped analytics - Tạo — Tạo bản ghi mới - Cập nhật — Cập nhật bản ghi theo ID - Xóa — Xóa bản ghi theo ID - Batch mutation — Tạo, cập nhật hoặc xóa nhiều bản ghi trong một generic-table operation

Truy cập repository

Repository có trong đối tượng context ($ctx) của hook và handler:

// Access a repository by table name
const productsRepo = $ctx.$repos.products;
const usersRepo = $ctx.$repos.enfyra_user;

// Access the main table repository (if configured in route)
const mainRepo = $ctx.$repos.main;

Lưu ý: - Repository được phân giải từ metadata theo name hoặc alias của bảng (xem RepoRegistryService). Truy cập cơ bản không cần cấu hình danh sách riêng cho từng route. - $ctx.$repos.main là bảng chính của route hiện tại (áp dụng quyền trường). - $ctx.$repos.secure.<name> áp dụng quyền tương tự cho bảng khác; $ctx.$repos.<name> không áp dụng quyền trường, trừ khi dùng main / secure. - Mọi phương thức repository đều bất đồng bộ và cần await.

Nội dung tham khảo

Tiếp theo