Apollo和PrismaGraphQL显式模型关系不可查询
创始人
2024-09-09 10:30:13
0
  1. 首先,确保在Prisma schema中定义了适当的关系。例如,如果我们有一个User模型和一个Post模型,我们可以定义一个User到Post的一对多关系如下:
model User {
  id        Int      @id @default(autoincrement())
  name      String
  posts     Post[]
}

model Post {
  id        Int      @id @default(autoincrement())
  title     String
  content   String?
  published Boolean  @default(false)
  author    User     @relation(fields: [authorId], references: [id])
  authorId  Int
}
  1. 使用Apollo Client的resolve函数来手动获取所有子模型。例如,如果我们想要查询一个用户及其所有的帖子,我们可以使用以下代码:
import { gql } from '@apollo/client';
import { useQuery } from '@apollo/client';

const GET_USER_AND_POSTS = gql`
  query getUserAndPosts($id: Int!) {
    user(where: { id: $id }) {
      id
      name
      posts {
        id
        title
        content
        published
      }
    }
  }
`;

const UserPage = ({ userId }) => {
  const { data, loading, error } = useQuery(GET_USER_AND_POSTS, {
    variables: { id: userId },
  });

  if (loading) return 

Loading...

; if (error) return

Error :(

; const { user } = data; return (

{user.name}

{user.posts.map((post) => (

{post.title}

{post.content}

{post.published ? 'Published' : 'Draft'}

))}
); };

在上面的代码中,我们手动获取了查询用户及其所有的帖子,并将结果渲染到页面上。虽然这种方法可能需要更多的代码,但它

相关内容

热门资讯

教程辅助!贪玩透视辅助,金虎爷... 教程辅助!贪玩透视辅助,金虎爷辅助插件,详细神器(的确有挂)1、金虎爷辅助插件免费辅助多个强度级别选...
让我来分享经验!闽游app辅助... 让我来分享经验!闽游app辅助器,丰城双剑新版最强高分攻略,详细挂(新版有挂)1、不需要AI权限,帮...
一分钟带你了解!陕麻圈破解,微... 一分钟带你了解!陕麻圈破解,微信第三方辅助软件,详细挂(有挂技巧)1、下载好微信第三方辅助软件透视辅...
玩家科普!jj斗地主外开挂,蜀... 玩家科普!jj斗地主外开挂,蜀山四川血战辅助,详细器(真是有挂)1、许多玩家不知道蜀山四川血战辅助辅...
揭秘几款!微信呢小程序微乐房间... 揭秘几款!微信呢小程序微乐房间怎么开挂,破解潮娱乐鱼虾蟹,详细方法(有挂神器)1、完成微信呢小程序微...
一分钟了解!温州熟客辅助,微信... 一分钟了解!温州熟客辅助,微信小程序微乐辅助器教程,详细挂(有挂解惑)微信小程序微乐辅助器教程破解侠...
科技介绍!斗棋bug辅助,柳州... 科技介绍!斗棋bug辅助,柳州天天爱字牌辅助器,详细插件(有挂秘籍)一、柳州天天爱字牌辅助器游戏安装...
来一盘!邯郸胡乐修改器视频,山... 来一盘!邯郸胡乐修改器视频,山西扣点点辅助挂定制交易平台,详细神器(今日头条)1)山西扣点点辅助挂定...
传递经验!欢乐茶馆脚本辅助,福... 传递经验!欢乐茶馆脚本辅助,福建天天开心王国辅助,详细教程(有挂攻略)1、在福建天天开心王国辅助插件...
普及知识!微信微乐挂有没有,雀... 普及知识!微信微乐挂有没有,雀友会广东潮汕麻雀开挂,详细神器(有挂规律)1、不需要AI权限,帮助你快...