2015-01-09 8 views
5

ich ein Category Modell erstellen möchten, die eine andere category, aber ein Problem mit Referenzfeld halten kann, dass ich meine aktuellen Kategorie, um es selbstkeystoneJS Beziehung zu Selbst

Irgendwelche Vorschläge, wie man erreichen hierarchische Kategorien einstellen? Hat KeystoneJS Filter wie 'nicht gleich'? In anderer Seite, vielleicht kann ich Standardreferenzfeld, um es selbst gesetzt, und es wird wie eine Wurzel sein ...

Mein aktueller Code unten:

 

    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

Warum passt das Kategorienbeispiel http://keystonejs.com/docs/database/#relationships nicht zu Ihrem Anwendungsfall? –

Antwort

0

Ich glaube, Sie falsch verstanden haben, wie Model.relationship() funktionieren.

Es hat drei Optionen:

  • Weg, dies ist die „virtuelle“ Feldnamen, der die Werte
  • ref halten wird, das ist das Modell, das wir
  • refPath verweisen, ist dies die Feld in der referenzierten Modell, das wir Pfad bevölkern mit

ich denke, etwas in Einklang mit dieser für Sie arbeiten

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