我有一个架构定义client
与clientType
的关系,如下所示:
{
name: '_clientType',
label: 'Client Type',
type: 'joinByOne',
withType: 'client-type',
idField: 'clientTypeId',
filters: {
projection: {
slug: 1,
title: 1
}
}
}
在我的clientType
模块的索引模板(apostrophe-pieces-pages
的扩展名)中,我想像我这样访问我的联接的反面:
{% for clientType in data.pieces %}
<h2>{{ clientType.title }}</h2>
<ul>
{% for client in clientType._clients %}
<li>{{ client.title }}</li>
{% endfor %}
</ul>
{% endfor %}
documentation on joins描述了如何设置反向连接,但joinByOneReverse
和joinByArrayReverse
似乎都不是实现此功能的正确工具。
我是否需要以不同方式设置我的架构才能使其工作?我希望保持编辑体验,以便编辑者将客户端类型与个人客户端相关联。
答案 0 :(得分:1)
如您所知,我是P'unk Avenue的Apostrophe的首席开发人员。
joinByOneReverse
确实是正确的工具:
{
name: '_clients',
label: 'Clients',
type: 'joinByOneReverse',
idField: 'clientTypeId',
withType: 'client'
}
它被称为“joinByOneReverse”,因为这是你正在“反转”以从另一端看到它的连接类型(joinByOne
)。
该属性是一个数组属性,因为没有任何内容阻止多个client
使用其clientTypeId
字段引用相同的client-type
。事实上,这正是你所希望的。