keystoneJS与自我的关系

时间:2015-01-09 18:43:29

标签: keystonejs

我想创建一个可以容纳另一个Category的{​​{1}}模型,但是参考字段存在问题,我可以将当​​前类别设置为自我

有关如何实现分层类别的任何建议吗? category是否会过滤“不等于”?#? 另一方面,也许我可以自己设置默认参考字段,它就像一个根...

我目前的代码如下:


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

    var PageCategory = keystone.List('PageCategory', {
        map: { name: 'name' },
        autokey : { from: 'name', path: 'key'}
    });

    PageCategory.add({
        name: { type: String, required: true, unique: true},
        image: { type: Types.CloudinaryImage, label: "Category Image"},
        description : { type: Types.Html, wysiwyg: true},
        parent: { type: Types.Relationship, ref: "PageCategory", label: "Parent category"}
    });

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

    PageCategory.register();

1 个答案:

答案 0 :(得分:0)

我认为你误解了Model.relationship()是如何运作的。

它有三个选项:

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

我认为与此相符的内容对您有用

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