1

我有一个模式,它定义了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 %}

关于连接的文档描述了如何设置反向连接,但似乎都不是实现此目的的正确工具joinByOneReversejoinByArrayReverse

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

4

1 回答 1

1

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

joinByOneReverse确实是正确的工具:

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

它被称为“joinByOneReverse”,因为这是joinByOne您正在“反转”以便从另一端看到它的 join ( ) 类型。

该属性是一个数组属性,因为没有什么能阻止不止一个client使用它的clientTypeId字段来引用同一个client-type. 事实上,这正是你所希望的。

于 2016-11-28T18:22:32.723 回答