[QUESTION] Any recommendations for using DataLoader with pivot tables?

Đang mở
#289 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
graphql, javascript
Lĩnh vực
api, backend

Hướng nghiên cứu

Bắt đầu bằng việc xem xét hành vi cache và batching của DataLoader cùng với ví dụ resolver userById và postById trong issue. Vì không có tệp nào trong repository, test, entry point hoặc tiêu chí chấp nhận nào được cung cấp, cần làm rõ hành vi mong đợi và định nghĩa hoàn thành trước khi triển khai.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

help wanted

Pivot tables are often used in relational databases to define one-to-many relationships.

In my case I'm using Adonis.js's Lucid ORM in my GraphQL resolvers, but things get a little tricky when loading relationships that use a pivot table. For example:

const user = await context.loaders.userById.load(input.id);
const posts = await user.posts().fetch();

// Since I didn't use a loader to fetch posts, I now have to prime the cache manually:
for (let post of posts.rows) {
  context.loaders.postById.prime(post.id, post);
}

The downside to this is I lose the simplicity of only using my loaders to grab data, and I have to remember to manually priming my cache even when I might not need the data again.

Ngôn ngữ chính
JavaScript
Star
13.4k
Fork
522
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của graphql/dataloader

Tất cả issue của graphql/dataloader

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.