如何在prisma中有条件地过滤记录?例如,我有一个变量sortByYear可以包含undefined或integer。
我只是想问一下有没有办法重构下面的实现。我尝试查看他们的文档,但找不到。
let result = [];
if (sortByYear) {
result = await prisma.project.findMany({
where: { provider_id: 50 }
})
} else {
result = await prisma.project.findMany()
}
Run Code Online (Sandbox Code Playgroud)
在 Laravel 中,我们可以通过使用子句来重构它when,该子句在执行查询之前首先检查变量。Laravel When 子句
Iro*_*ife 18
您可以使用扩展语法操作和三元操作的组合来完成此操作:
const result = await prisma.project.findMany({
where: {
...(sortByYear ? { provider_id: 50 } : {}),
},
});
Run Code Online (Sandbox Code Playgroud)
传播语法:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
条件三元:
https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
| 归档时间: |
|
| 查看次数: |
10414 次 |
| 最近记录: |