可用于在查询中创建引用,例如列名或表名。这是替代使用的好方法knex.raw('??', 'tableName.columName') which essentially does the same thing.


用法:

knex.ref可以在构建链中的任何地方使用。这是一个例子:


knex(knex.ref('Users').withSchema('TenantId'))

  .where(knex.ref('Id'), 1)

  .orWhere(knex.ref('Name'), 'Admin')

  .select(['Id', knex.ref('Name').as('Username')])

输出:

select `Id`, `Name` as `Username` from `TenantId`.`Users` where `Id` = 1 or `Name` = 'Admin'

withSchema:

Ref函数支持使用.withSchema(string)以下模式:


knex(knex.ref('users').withSchema('TenantId')).select()

输出:

select * from `TenantId`.`users`

别名:

支持使用别名 .alias(string)


knex('users')

  .select(knex.ref('Id').as('UserId'))

输出:

select `Id` as `UserId` from `users`