显示
this expression is not callable
错误。
如何在动态模型时解决 findUnique 方法上的此类型错误。
export const isFound = async (
model: Prisma.ModelName,
id: string | number,
idName: string
): Promise<boolean> => {
id = parseInt(id as string)
const result = await prisma[model].findUnique({
where: { [idName]: id },
})
return !!result
}
我尝试过任何类型。它工作正常。但我想要更多的类型安全。 如何实现不出错
await (prisma[model] as any).findUnique({
where: { [idName]: id },
})
我想要类似的东西
await (prisma[model] as GoodType).findUnique({
where: { [idName]: id },
})
你不能。不支持。
如果你愿意,你可以继续使用类型转换
as any
,但没有办法实现类型。您可能想要查看的一个选项是原始查询,特别是 queryRawUnsafe()
和参数化查询(文档)。
我建议考虑为什么您需要动态表名称,如果需要,则重新评估 Prisma 是否适合您的场景。