📜  adonis join with multi condictions - Javascript (1)

📅  最后修改于: 2023-12-03 15:29:18.228000             🧑  作者: Mango

Adonis.js: 使用多条件连接

在Adonis.js中,您可以使用多条件连接来连接多个表达式以生成更复杂的查询。这使得查询更具可读性和可维护性。

使用where方法连接多个条件

您可以使用where方法连接多个条件。例如,以下查询将选择名为John且性别为male的用户:

const users = await Database.from('users')
  .where('name', 'John')
  .where('gender', 'male')
使用orWhere方法连接多个条件

如果您需要满足多个条件之一,则可以使用orWhere方法。例如,以下查询将选择名为JohnBob的用户:

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方法。例如,以下查询将选择年龄为181920的用户:

const users = await Database.from('users')
  .whereIn('age', [18, 19, 20])
使用whereNotIn方法连接多个条件

如果您需要排除多个值,则可以使用whereNotIn方法。例如,以下查询将排除年龄为181920的用户:

const users = await Database.from('users')
  .whereNotIn('age', [18, 19, 20])
使用whereNullwhereNotNull方法连接多个条件

如果您需要检查某个值是否为nullnot null,则可以使用whereNullwhereNotNull方法。例如,以下查询将选择邮箱地址为null的用户:

const users = await Database.from('users')
  .whereNull('email')

以下查询将选择邮箱地址不为null的用户:

const users = await Database.from('users')
  .whereNotNull('email')
使用orWhereNullorWhereNotNull方法连接多个条件

如果您需要在多个条件之一中检查某个值是否为nullnot null,则可以使用orWhereNullorWhereNotNull方法。例如,以下查询将选择邮箱地址为null或用户名为John的用户:

const users = await Database.from('users')
  .where(function () {
    this.whereNull('email')
      .orWhere('name', 'John')
  })
结论

使用多条件连接,您可以更轻松地编写复杂的查询,并使查询更具可读性和可维护性。 Adonis.js是一个强大的框架,它可以大大简化后端开发的复杂性。