Xen*_*mar 7 node.js typescript prisma
在检查 Prisma ORM 中更新方法的类型时,我发现只能包含唯一字段的 where 子句:
return this.prisma.publication.update({
data,
where: {id},
});
Run Code Online (Sandbox Code Playgroud)
我很乐意将其与身份验证结合起来并执行以下操作:
return this.prisma.publication.update({
data,
where: {id, owner: user.id}, <-- Authorisation
});
Run Code Online (Sandbox Code Playgroud)
这对于 Prisma 来说是可能的吗?或者我是否需要一个单独的查询来检索实例?
Rya*_*yan 10
在这种情况下,您需要使用updateMany,因为您将非唯一字段与唯一字段一起使用。
小智 6
显然,从 Prisma 版本 4.5.0 开始,有一项新功能允许您将非唯一字段添加到唯一 where 子句,只要它至少包含一个唯一字段即可。
这是一个预览功能,因此为了启用它,请将其添加到您的 shcema.prisma 中:
generator js {
provider = "prisma-client-js"
previewFeatures = ["extendedWhereUnique"]
}
Run Code Online (Sandbox Code Playgroud)
然后您的代码示例就会起作用。
return this.prisma.publication.update({
data,
where: {id, owner: user.id},
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9983 次 |
| 最近记录: |