我在该搜索用户下方使用两列进行了查询。但它似乎无法正常工作,我假设它正在查询where每列中的子句而不是两列中的子句。
有没有办法可以where ~ in处理两列或更多列?
const users = [
{
user_id: 1,
school_id: 11,
..
},
{
user_id: 2,
school_id: 22
},
..
]
await prisma.user.findMany({
where: {
AND: {
user_id: {
in: users.map(user => user.user_id)
},
school_id: {
in: users.map(user => user.school_id)
}
}
}
})
Run Code Online (Sandbox Code Playgroud)
问题是它不会同时 user_id搜索和school_id。相反,它搜索两列中的任意一列。我会请求你们的帮助,或者你们有更好的方法来达到相同的结果。谢谢。
Aus*_*rim 16
AND如果您发送对象,我认为该选项不起作用。它通常需要一组对象(https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#examples-46)。
执行查询的更简单方法是完全省略AND:
await prisma.user.findMany({
where: {
user_id: {
in: users.map(user => user.user_id)
},
school_id: {
in: users.map(user => user.school_id)
}
}
})
Run Code Online (Sandbox Code Playgroud)
这本质上是一种‘隐性’ AND。
| 归档时间: |
|
| 查看次数: |
21994 次 |
| 最近记录: |