Mysql SequelizeJS关系,同一模型
我想创建一个如下所示的模型:Mysql SequelizeJS关系,同一模型,mysql,node.js,sequelize.js,Mysql,Node.js,Sequelize.js,我想创建一个如下所示的模型: var category=db.define('category'{ 姓名:{ 类型:Types.STRING, }, 职位:{ 类型:Types.INTEGER } }, { 分类方法:{ 助理:职能(模型){ 类别.belongsTo(型号.category); category.hasMany(models.category); } } });您只需输入关系的顺序(belongsTo/hasMany) 嗯,你是用同一张桌子做的?我有点搞不懂你在这里想干什么。
var category=db.define('category'{
姓名:{
类型:Types.STRING,
},
职位:{
类型:Types.INTEGER
}
}, {
分类方法:{
助理:职能(模型){
类别.belongsTo(型号.category);
category.hasMany(models.category);
}
}
});代码>您只需输入关系的顺序(belongsTo/hasMany)
嗯,你是用同一张桌子做的?我有点搞不懂你在这里想干什么。如果你只想找到表类别的所有元素,你可以做findAll。每个类别都可以有一个父类别或子类别…好的,在这种情况下,这是使用“hasMany”的最佳方式吗?或者“hasOne”更好?这取决于你想要什么。如果你只想让一个类别有一个子类别(子类别),你可以使用hasOne,如果你想有多个子类别,你应该使用hasMany。如果你问sequelize是否只优化了一个子类别与hasOne的关系,可能但我不确定,但是使用hasOne关系,你可以使用getCategory来获得子类别,使用hasMany,您将拥有GetCategoris,它将为您提供一个包含所有Child的数组。希望这有帮助:)
var category = sequelize.define('category', {
name: {
type: Sequelize.STRING,
},
position: {
type: Sequelize.INTEGER
}
}, {
classMethods:{
associate: function (c) {
category.hasMany(c);
category.belongsTo(c);
}
}
});