当我在Objection.js模型中使用Knex leftJoin()方法时,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匹配的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/

10-11 14:22