在 Apostrophe Pieces 中检索多对一关系的反向连接

Retrieving reverse joins on a many-to-one relationship in Apostrophe Pieces

我有一个模式定义了 clientclientType 的关系,如下所示:

{
  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 描述了如何设置反向联接,但 joinByOneReversejoinByArrayReverse 似乎都不是实现此目的的正确工具。

我是否需要以不同的方式设置我的架构才能使其正常工作?我更愿意保留编辑体验,以便编辑将客户类型与单个客户相关联。

如您所知,我是 P'unk Avenue 的 Apostrophe 的首席开发人员。

joinByOneReverse确实是正确的工具:

{
  name: '_clients',
  label: 'Clients',
  type: 'joinByOneReverse',
  idField: 'clientTypeId',
  withType: 'client'
}

之所以称为 "joinByOneReverse",是因为这是您 "reversing" 的连接类型 (joinByOne),以便从另一端看到它。

属性 是一个数组 属性,因为没有什么可以阻止多个 client 使用其 clientTypeId 字段来引用相同的 client-type。事实上,这正是您所希望的。