在 Postgraphile 中创建视图返回嵌套对象

问题描述 投票:0回答:1

在 Postgraphile 4 中,我有一个连接两个表的视图,相当于:

SELECT
  table1.fieldA,
  table1.fieldB,
  table2.fieldA AS table2_fieldA,
  table2.fieldB AS table2_fieldB
FROM table1
  JOIN table.table2_id = table2.id

在某一时刻,该视图返回 GraphQL 结果,例如:

 {
    fieldA,
    fieldB,
    table2 {
      fieldA,
      fieldB
    }
 }

但是后来我改变了一些东西(不确定是什么),现在我得到了结果:

 {
    fieldA,
    fieldA,
    table2_fieldA,
    table2_fieldB
 }

任何人都可以解释如何让结果再次作为嵌套对象返回吗? 我不确定我做了什么来使结果返回非嵌套的,但无论它是什么,我只是想撤消它。

postgraphile
1个回答
0
投票

我不确定我最初是如何做到的,但我找到了一种复制行为的方法:智能标签......特别是

@foreignKey
标签。

如果您添加类似以下的智能标签:

@foreignKey (table_2_id) references table(id)

视图只需要返回连接ID;它甚至不需要费心返回连接的表列。

© www.soinside.com 2019 - 2024. All rights reserved.