为啥我无法使用 GO 客户端在我的 prisma 查询中获取相关字段?
Posted
技术标签:
【中文标题】为啥我无法使用 GO 客户端在我的 prisma 查询中获取相关字段?【英文标题】:why I cannot fetch related fields on my prisma query with my GO client?为什么我无法使用 GO 客户端在我的 prisma 查询中获取相关字段? 【发布时间】:2020-03-07 08:26:06 【问题描述】:我是 Prisma 的新手,但到目前为止,我设法使用 graphql 进行查询和映射,但后来我注意到我没有获取全部信息。
这就是我所拥有的。
我有一张名为 Highlight 的表格
该表与 HighlightItems 有关系(即获取 postId、投票数等的包装器)
所以我映射了我的棱镜对象并且似乎正在工作......
我的 datamodel.prisma 中有这个
type Highlight
id: UUID! @id
highlightId: String! @unique
createdAt: DateTime! @createdAt
updatedAt: DateTime! @updatedAt
highlightItems: [HighlightItem!]!
@relation(
link: TABLE
name: "HighlightItemByHighlight"
onDelete: CASCADE
)
在我的 HighlightItem 处
type HighlightItem
id: UUID! @id
createdAt: DateTime! @createdAt
updatedAt: DateTime! @updatedAt
lastComment: String ....
我能够生成棱镜模型并使用生成的突变:
mutation
createHighlight(....
我可以通过以下查询直接查询 prismadb:
query
highlights
highlightId, highlightItemsid
现在我在使用 GO 解析器时遇到了问题
当我这样做时:
func (r *queryResolver) Highlights(ctx context.Context, first, last *int, before, after, search *string, input string, input2 string ) (*models.Highlights, error)
allHighligts, err := prisma.Instance.Highlights(
&prisma.HighlightsParams
).Exec(ctx)
....
然后我意识到我无法获得HighlightItems
通过突出显示,检查了 prisma 客户端上的 GO 文档,它应该使用"fluent API"
https://www.prisma.io/docs/prisma-client/basic-data-access/reading-data-GO-go05/#relations
但到目前为止我无法获取它们,知道我做错了什么吗?
【问题讨论】:
【参考方案1】:这个问题可能与变量名的大写有关。变量首字母大写可以吗?
【讨论】:
变量大写是什么意思? allHighlights var?? 不,我的意思是模型为type HighlightItem Id: UUID! @id CreatedAt: DateTime! @createdAt UpdatedAt: DateTime! @updatedAt LastComment: String ....
以上是关于为啥我无法使用 GO 客户端在我的 prisma 查询中获取相关字段?的主要内容,如果未能解决你的问题,请参考以下文章
使用 MongoDB API 无法使用 Prisma 和 CosmosDB 进行更新
无法生成 Prisma 客户端,outputDir.endsWith 不是函数