我正在关注AdonisJs的查询构建器:https://adonisjs.com/docs/4.1/query-builder#_introduction
我正在尝试执行与“条件查询”子标题下发布的示例相似的操作:
const query = Database.table('users')
if (username) {
query.where('username', username)
}
但是,这在我的后端发送了一个错误。
有没有一种条件查询条件?在某些情况下,我需要具有where子句,而在其他情况下,基于布尔值,则需要所有数据,因此不需要where。
我注意到,“ query”变量(在上面的示例中)仅在链接到Database类时才可链接。当我将其另存为变量时,它将引发错误(即query.where(...)
引发错误)。
我当前的解决方案是为3个布尔条件提供9种可能性,并且每个查询都将从Database类创建。我可能很快就会有3个以上的状况。
有没有一种条件查询条件?
P.S:我确实知道在一个where子句中可以有多个字段,尽管这与我的问题无关。即
.where({ field1: true, field2: false})
答案 0 :(得分:1)
没关系,
const query = Database.table('users')
if (username) {
query.where('username', username)
}
有效。我本来应该在数据库上使用await的。