在Apostrophe Pieces

时间:2016-11-28 18:11:32

标签: apostrophe-cms

我有一个架构定义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似乎都不是实现此功能的正确工具。

我是否需要以不同方式设置我的架构才能使其工作?我希望保持编辑体验,以便编辑者将客户端类型与个人客户端相关联。

1 个答案:

答案 0 :(得分:1)

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

joinByOneReverse确实是正确的工具:

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

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

该属性是一个数组属性,因为没有任何内容阻止多个client使用其clientTypeId字段引用相同的client-type。事实上,这正是你所希望的。