5

我想创建一个Category可以容纳另一个的模型category,但是参考字段有问题,我可以将当​​前类别设置为它自己

任何建议如何实现分层类别?是否KeystoneJS有像“不等于”这样的过滤器?另一方面,也许我可以自己设置默认引用字段,它就像一个根......

我当前的代码如下:

    var keystone = require('keystone'),
        类型 = keystone.Field.Types;

    var PageCategory = keystone.List('PageCategory', {
        地图:{名称:'名称'},
        自动键:{来自:'name',路径:'key'}
    });

    PageCategory.add({
        名称:{类型:字符串,必需:true,唯一:true},
        图像:{类型:Types.CloudinaryImage,标签:“类别图像”},
        描述:{类型:Types.Html,所见即所得:真},
        父:{类型:Types.Relationship,参考:“PageCategory”,标签:“父类别”}
    });

    PageCategory.relationship({ ref: "PageCategory", path: "parent"});

    PageCategory.register();

4

1 回答 1

0

我想你误解了它是如何Model.relationship()工作的。

它有三个选项:

  • 路径,这是将保存值的“虚拟”字段名称
  • ref,这是我们参考的模型
  • refPath,这是我们填充路径的引用模型中的字段

我认为与此相符的东西对您有用

PageCategory.relationship({ ref: "PageCategory", path: "children", refPath: "parent"});
于 2015-03-20T13:33:56.900 回答