在 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
}
任何人都可以解释如何让结果再次作为嵌套对象返回吗? 我不确定我做了什么来使结果返回非嵌套的,但无论它是什么,我只是想撤消它。
我不确定我最初是如何做到的,但我找到了一种复制行为的方法:智能标签......特别是
@foreignKey
标签。
如果您添加类似以下的智能标签:
@foreignKey (table_2_id) references table(id)
视图只需要返回连接ID;它甚至不需要费心返回连接的表列。