标题可能不清楚,但我想要实现的是使用parentCategories的类别。例如:
/-Clothes
/---Men
/---Women
/---Kids
/-----Newborns
所以我认为我可以让每个类别都有一个可选的父类别,每当我添加一个父类别的类别时,找到这个父类别并添加新的子类别。我明白了吗?
这是我到目前为止所做的:
Category.js(模特)
module.exports = {
connection: 'MongoDB',
attributes: {
name: {
type: 'string',
required: true,
unique: true
},
description: {
type: 'string'
},
products: {
collection: 'product',
via: 'category'
},
parentCategory: {
model: 'category'
},
subCategories: {
collection: 'category',
via: 'parentCategory'
},
addSubCategory: function(sc) {
this.subCategories.push(sc);
}
}
};
它似乎无法正常工作。我从我的控制器调用addSubCategory,sc并且这些值是正确的,但它从不将“subCategory”属性添加到类别中。我知道这可能不是最好的方法,有什么建议吗?
答案 0 :(得分:0)
您不需要subCategories
属性。以下设计将是我的建议。
module.exports = {
connection: 'MongoDB',
attributes: {
name: {
type: 'string',
required: true,
unique: true
},
type: {
type: 'string',
enum: ['parent', 'subcategory'],
},
description: {
type: 'string'
},
products: {
collection: 'product',
via: 'category'
},
parentCategory: {
model: 'category' // this exists only if type is 'subcategory' else null
},
addSubCategory: function(sc) {
this.subCategories.push(sc);
}
}
};
如果您有任何疑问,请告诉我。