2015-01-09 83 views
5

我想創建一個Category模型,可容納另一個category,但有參考外地的一個問題,我可以我目前的類別設置爲它的自我keystoneJS關係自我

任何建議如何實現分級分類? KeystoneJS是否有「不等於」的過濾器? 在另一方面,也許我可以默認參考字段設置爲它自己,它會像根...

我當前的代碼如下:

 

    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(); 

+0

爲什麼這裏的分類示例http://keystonejs.com/docs/database/#relationships不符合你的用例? – 2015-02-12 13:23:41

回答

0

我想你誤會了怎麼Model.relationship()作品。

它有三個選項:

  • 路徑,這是將保存的值
  • 裁判的「虛擬」的名字,這是模型,我們引用
  • refPath,這是在我們填充路徑與

我認爲符合這個東西的參考模型場會爲你

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