javascript - `leftJoin()` 不使用 Knex.js 通过 Objection ORM 返回连接表数据

标签 javascript postgresql knex.js objection.js

当我将 Knex leftJoin() 方法与 Objection.js 模型结合使用时,leftJoin 仅返回第一个表数据,而不返回第二个表。当我直接在终端中使用 psql 执行相同的查询时,该查询工作正常

查询如下所示:

const result = await Table1Model.query()
      .leftJoin(
        'table_2',
        'table_2.table_2_id',
        'table_1.table_2_id'
      )
      .where('table_1_id', '=', table1Id);

我希望结果包含所有 table_2 列,其中 ID 与 table_1 匹配。

我只获取 table_1 的列

最佳答案

如果您只想从 table_2 获取列-

const result = await Table1Model.query()
      .leftJoin(
        'table_2',
        'table_2.table_2_id',
        'table_1.table_2_id'
      )
      .columns('table_2.*') // add columns
      .where('table_1_id', '=', table1Id);

关于javascript - `leftJoin()` 不使用 Knex.js 通过 Objection ORM 返回连接表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55393433/

相关文章:

knex.js - Knex 迁移不创建表

javascript - 如何在JavaScript中动态获取下拉值?

javascript - 带复选框的标签内的 IE 按钮

javascript - Javascript 或 Jquery 中的屏幕捕获应用程序

PostgreSQL 错误 [42501] : ERROR: must be owner of relation table

sql - 更新现有表时出现空约束错误

javascript - 为什么 angularjs 中的 $asyncValidators 返回一个 promise 但未定义

arrays - 在 Postgres 中索引一个 jsonb 数组

node.js - 销毁书架/knex连接池

node.js - 始终从 Bookshelf.js 中的相关模型中获取