1

我正在创建一个模式,我想与撇号用户建立关系,但似乎无法让它工作?

{
      name: '_coaches',
      label: 'Coaches',
      type: 'joinByArray',
      withType: 'apostrophe-users' // also tried just 'user(s)',
      idsField: 'coachIds'
}

有谁知道上述是否可行,如果可以,我做错了什么?

其次,是否可以根据他们是否在“教练”组中过滤上述内容。因此,只有特定组中的用户才能被选择用于上述关系。

4

1 回答 1

2

我是 P'unk Avenue 的 Apostrophe 的首席开发人员。

这在某种意义上是可行的,但是默认情况下,用户始终未发布,并且该字段已从架构中删除,因此公众永远无法找到它们。

这是因为根据我们的经验,在 Apostrophe 0.5 中混合使用前端目录中的人员和可以登录的用户的概念通常会导致沮丧和困惑。“这是一个用户,但他们无法登录?这是一个帐户,但他们不属于目录?我不明白,”等等。

因此,我们建议制作一个单独的“个人资料”片段类型来代表前端的一个人,并允许用户和组用于登录和权限,仅此而已。

如果您真的想通过,可以将已发布的字段添加回用户和组,addFields但我们不建议这样做。

嗯,但话虽如此,您加入中的实际错误是您应该使用过apostrophe-user(请参阅name撇号用户模块中的属性;这是一个用户在 docs 集合中的 type 属性中被称为的内容,这是不同的来自模块的名称)。实例是单数,模块是复数。根据您的预期应用,这可能是您需要知道的。

至于只加入某个特定组的成员,我想知道你为什么不加入该组并查看它的_users加入。您需要将join过滤器设置为显式获取该附加连接,因为 Apostrophe 默认情况下不会递归连接以防止无限循环。

于 2016-12-23T18:17:02.643 回答