首页 > 解决方案 > 自定义功能用户不醒来的角色,嵌套查询,prisma graphql

问题描述

此功能无法正常工作

function getRolesOfUser(parent, args, context, info) {    

    return context.prisma.userHasRoles({user:args.user});
}

我尝试更改查询中的参数

{where: {user:user}}
{['User.id']:args.user}

这是架构

type Query {
  getRolesOfUser(user: String): [UserHasRole]
}

type User {
  id: ID!
  email: String!
  roles: [UserHasRole]
}
type Role {
  id: ID!
  name: String!
}
type UserHasRole {
  id: ID!
  role: Role!
  user: User!
}

错误信息:

Could not find argument user for type UserHasRole",

期望收到与某个用户相关的角色列表

标签: javascriptnestedgraphqlprismaprisma-graphql

解决方案


请考虑使用以下代码

function getRolesOfUser(parent, args, context, info) {
  return context.prisma.userHasRoles({ where: { user: { id: args.user.id } } })
}

在您的架构中,userUserHasRole. 先选择user满足条件的 by user.id,然后过滤掉UserHasRole包含user的 by user


列表的基本过滤器


推荐阅读