有没有一种方法可以在AdonisJS 4.1.0中进行条件查询?

时间:2019-12-17 21:54:59

标签: javascript database orm adonis.js

我正在关注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})

1 个答案:

答案 0 :(得分:1)

没关系,

const query = Database.table('users')
if (username) {
  query.where('username', username)
}

有效。我本来应该在数据库上使用await的。