📅  最后修改于: 2023-12-03 15:29:18.228000             🧑  作者: Mango
在Adonis.js中,您可以使用多条件连接来连接多个表达式以生成更复杂的查询。这使得查询更具可读性和可维护性。
where
方法连接多个条件您可以使用where
方法连接多个条件。例如,以下查询将选择名为John
且性别为male
的用户:
const users = await Database.from('users')
.where('name', 'John')
.where('gender', 'male')
orWhere
方法连接多个条件如果您需要满足多个条件之一,则可以使用orWhere
方法。例如,以下查询将选择名为John
或Bob
的用户:
const users = await Database.from('users')
.where(function () {
this.where('name', 'John')
.orWhere('name', 'Bob')
})
以上查询还可以使用ES6箭头函数轻松编写,如下所示:
const users = await Database.from('users')
.where((query) => {
query.where('name', 'John')
.orWhere('name', 'Bob')
})
whereIn
方法连接多个条件如果您需要在多个值之间进行选择,则可以使用whereIn
方法。例如,以下查询将选择年龄为18
,19
或20
的用户:
const users = await Database.from('users')
.whereIn('age', [18, 19, 20])
whereNotIn
方法连接多个条件如果您需要排除多个值,则可以使用whereNotIn
方法。例如,以下查询将排除年龄为18
,19
或20
的用户:
const users = await Database.from('users')
.whereNotIn('age', [18, 19, 20])
whereNull
和whereNotNull
方法连接多个条件如果您需要检查某个值是否为null
或not null
,则可以使用whereNull
和whereNotNull
方法。例如,以下查询将选择邮箱地址为null
的用户:
const users = await Database.from('users')
.whereNull('email')
以下查询将选择邮箱地址不为null
的用户:
const users = await Database.from('users')
.whereNotNull('email')
orWhereNull
和orWhereNotNull
方法连接多个条件如果您需要在多个条件之一中检查某个值是否为null
或not null
,则可以使用orWhereNull
和orWhereNotNull
方法。例如,以下查询将选择邮箱地址为null
或用户名为John
的用户:
const users = await Database.from('users')
.where(function () {
this.whereNull('email')
.orWhere('name', 'John')
})
使用多条件连接,您可以更轻松地编写复杂的查询,并使查询更具可读性和可维护性。 Adonis.js是一个强大的框架,它可以大大简化后端开发的复杂性。