keystoneJS отношения к себе
Я хочу создать Category
модель, которая может вместить другую category
, но есть проблема с полем ссылки, что я могу установить свою текущую категорию на себя
Любые предложения, как достичь иерархических категорий? Есть ли KeystoneJS
есть фильтр типа "не равно"? С другой стороны, может быть, я могу установить поле ссылки по умолчанию на себя, и это будет как корень...
Мой текущий код ниже:
var keystone = require ('keystone'), Types = keystone.Field.Types; var PageCategory = keystone.List ('PageCategory', { карта: {имя: 'имя' }, autokey: { from: 'name', path: 'key'} }); PageCategory.add({ name: { type: String, обязательно: true, уникально: true}, image: { type: Types.CloudinaryImage, метка: "Изображение категории"}, описание: {тип: Types.Html, wysiwyg: true}, parent: { type: Types.Relationship, ref: "PageCategory", метка: "Родительская категория"} }); PageCategory.relationship({ ref: "PageCategory", путь: "родительский"}); PageCategory.register();
1 ответ
Я думаю, вы не поняли, как Model.relationship()
работает.
У него есть три варианта:
- путь, это "виртуальное" имя поля, которое будет содержать значения
- ссылка, это модель, на которую мы ссылаемся
- refPath, это поле в ссылочной модели, в которое мы заполняем путь
Я думаю, что-то в соответствии с этим будет работать для вас
PageCategory.relationship({ ref: "PageCategory", path: "children", refPath: "parent"});