graphql/dataloader
在 GitHub 查看[QUESTION] Any recommendations for using DataLoader with pivot tables?
Open
#289 建立於 2021年12月29日
help wanted
倉庫指標
- Star
- (12,520 star)
- PR 合併指標
- (平均合併 5天 2小時) (30 天內合併 1 個 PR)
描述
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.