提问人:Tomas Bubenik 提问时间:11/12/2023 更新时间:11/12/2023 访问量:30
参数“primaryMuscles”:提供的值无效。预期的 StringNullableListFilter,提供 (String)
Argument `primaryMuscles`: Invalid value provided. Expected StringNullableListFilter, provided (String)
问:
const filteredExercises = await prisma.exercise.findMany({
where: {
force: undefined,
level: undefined,
mechanic: undefined,
equipment: undefined,
primaryMuscles: [
"Shoulders"
],
~~~~~~~~~~~~~
category: undefined
}
})
参数:提供的值无效。预期的 StringNullableListFilter,提供 (String)。primaryMuscles
async function getFilteredExercises(req,res){
const {selectedSkillLevel,selectedForce,selectedMechanic,selectedEquipment,selectedPrimaryMuscle,selectedCategory} = req.body
const filteredExercises = await prisma.exercise.findMany({
where: {
force:selectedForce,
level:selectedSkillLevel,
mechanic:selectedMechanic,
equipment:selectedEquipment,
primaryMuscles: selectedPrimaryMuscle,
category:selectedCategory
}
})
res.status(200).json({filteredExercises})
}
model exercise {
id Int @id @unique @default(autoincrement())
name String @unique
force String?
level String
mechanic String?
equipment String?
primaryMuscles String[]
secondaryMuscles String[]
instructions String[]
category String
workoutPlans WorkoutPlan[]
}
答:
0赞
Muhammad Sarmad
11/12/2023
#1
将 Prisma 与该函数一起使用时,参数似乎存在问题。从错误通知中可以看出,输入的值可能未采用正确的格式,即 StringNullableListFilter。exercise.findMany
selectedPrimaryMuscle
selectedPrimaryMuscle
您可以考虑进行以下更改:
const filteredExercises = await prisma.exercise.findMany({
where: {
force: selectedForce,
level: selectedSkillLevel,
mechanic: selectedMechanic,
equipment: selectedEquipment,
primaryMuscles: { contains: selectedPrimaryMuscle }, // Use contains for matching strings in an array
category: selectedCategory
}
});
{ contains: selectedPrimaryMuscle }
在此调整中用于匹配数组中的。Prisma 模型中的数组旨在包含一个或多个值,这假定它是一个字符串。根据您所需的匹配标准进行调整。selectedPrimaryMuscle
primaryMuscles
primaryMuscles
selectedPrimaryMuscle
评论
0赞
Tomas Bubenik
11/13/2023
没有工作“包含”是未知的论点。
评论