Javascript 关联的Sequelize Mysql2
我已经为两个表、personals和profiles创建了关系,但是当我想获取所有与profile相关的personals时,我有一个错误“profile与personal没有关联”。Javascript 关联的Sequelize Mysql2,javascript,mysql,node.js,express,sequelize.js,Javascript,Mysql,Node.js,Express,Sequelize.js,我已经为两个表、personals和profiles创建了关系,但是当我想获取所有与profile相关的personals时,我有一个错误“profile与personal没有关联”。 关系是一个人拥有多个个人资料 我的个人路线如下: const express = require("express"); const router = express.Router(); const db = require("../models");
关系是一个人拥有多个个人资料 我的个人路线如下:
const express = require("express");
const router = express.Router();
const db = require("../models");
router.get("/all", (req, res) => {
db.Personal.findAll({
include: [db.Profile]
}).then(personals => res.send(personals));
});
module.exports = router;
const sequelize = require("sequelize");
module.exports = (sequelize, DataTypes) => {
const Personal = sequelize.define('Personal', {
personal_id: {
type: DataTypes.STRING(10),
allowNull: false,
primaryKey: true
},
personal_name: {
type: DataTypes.STRING(50),
allowNull: false
},
personal_contact: {
type: DataTypes.CHAR(15),
allowNull: false
},
personal_birth_place: {
type: DataTypes.STRING(20),
allowNull: false
},
personal_birth_date: {
type: DataTypes.DATEONLY,
allowNull: false
},
personal_religion: {
type: DataTypes.STRING(15),
allowNull: false
},
personal_gender: {
type: DataTypes.STRING(10),
allowNull: false
},
personal_health: {
type: DataTypes.STRING(10),
allowNull: false
},
personal_obj: {
type: DataTypes.TEXT,
allowNull: false
}
});
Personal.associate = models =>{
Personal.belongsTo(models.User,{
foreign key : {
allowNull : false
}
});
};
Personal.associate = models =>{
Personal.hasMany(models.Profile,{
onDelete : "cascade"
});
};
return Personal;
};
const sequelize = require('sequelize');
module.exports = (sequelize, DataTypes) => {
const Profile = sequelize.define('Profile', {
profile_id: {
type: DataTypes.STRING(10),
allowNull: false,
primaryKey: true
},
profile: {
type: DataTypes.TEXT,
allowNull: false
}
});
Profile.associate = models => {
Profile.belongsTo(models.Personal,{
foreignkey : {
allowNull : false
}
});
};
return Profile;
};
我的个人模型是这样的:
const express = require("express");
const router = express.Router();
const db = require("../models");
router.get("/all", (req, res) => {
db.Personal.findAll({
include: [db.Profile]
}).then(personals => res.send(personals));
});
module.exports = router;
const sequelize = require("sequelize");
module.exports = (sequelize, DataTypes) => {
const Personal = sequelize.define('Personal', {
personal_id: {
type: DataTypes.STRING(10),
allowNull: false,
primaryKey: true
},
personal_name: {
type: DataTypes.STRING(50),
allowNull: false
},
personal_contact: {
type: DataTypes.CHAR(15),
allowNull: false
},
personal_birth_place: {
type: DataTypes.STRING(20),
allowNull: false
},
personal_birth_date: {
type: DataTypes.DATEONLY,
allowNull: false
},
personal_religion: {
type: DataTypes.STRING(15),
allowNull: false
},
personal_gender: {
type: DataTypes.STRING(10),
allowNull: false
},
personal_health: {
type: DataTypes.STRING(10),
allowNull: false
},
personal_obj: {
type: DataTypes.TEXT,
allowNull: false
}
});
Personal.associate = models =>{
Personal.belongsTo(models.User,{
foreign key : {
allowNull : false
}
});
};
Personal.associate = models =>{
Personal.hasMany(models.Profile,{
onDelete : "cascade"
});
};
return Personal;
};
const sequelize = require('sequelize');
module.exports = (sequelize, DataTypes) => {
const Profile = sequelize.define('Profile', {
profile_id: {
type: DataTypes.STRING(10),
allowNull: false,
primaryKey: true
},
profile: {
type: DataTypes.TEXT,
allowNull: false
}
});
Profile.associate = models => {
Profile.belongsTo(models.Personal,{
foreignkey : {
allowNull : false
}
});
};
return Profile;
};
我的个人资料模型如下:
const express = require("express");
const router = express.Router();
const db = require("../models");
router.get("/all", (req, res) => {
db.Personal.findAll({
include: [db.Profile]
}).then(personals => res.send(personals));
});
module.exports = router;
const sequelize = require("sequelize");
module.exports = (sequelize, DataTypes) => {
const Personal = sequelize.define('Personal', {
personal_id: {
type: DataTypes.STRING(10),
allowNull: false,
primaryKey: true
},
personal_name: {
type: DataTypes.STRING(50),
allowNull: false
},
personal_contact: {
type: DataTypes.CHAR(15),
allowNull: false
},
personal_birth_place: {
type: DataTypes.STRING(20),
allowNull: false
},
personal_birth_date: {
type: DataTypes.DATEONLY,
allowNull: false
},
personal_religion: {
type: DataTypes.STRING(15),
allowNull: false
},
personal_gender: {
type: DataTypes.STRING(10),
allowNull: false
},
personal_health: {
type: DataTypes.STRING(10),
allowNull: false
},
personal_obj: {
type: DataTypes.TEXT,
allowNull: false
}
});
Personal.associate = models =>{
Personal.belongsTo(models.User,{
foreign key : {
allowNull : false
}
});
};
Personal.associate = models =>{
Personal.hasMany(models.Profile,{
onDelete : "cascade"
});
};
return Personal;
};
const sequelize = require('sequelize');
module.exports = (sequelize, DataTypes) => {
const Profile = sequelize.define('Profile', {
profile_id: {
type: DataTypes.STRING(10),
allowNull: false,
primaryKey: true
},
profile: {
type: DataTypes.TEXT,
allowNull: false
}
});
Profile.associate = models => {
Profile.belongsTo(models.Personal,{
foreignkey : {
allowNull : false
}
});
};
return Profile;
};
我不明白为什么会出现错误,我认为我的代码是有效的,因为我的用户与个人的关系是有效的我的用户模型:
module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
user_id: {
type: DataTypes.STRING(10),
allowNull: false,
primaryKey: true
},
user_username: {
type: DataTypes.STRING(20),
allowNull: false
},
user_password: {
type: DataTypes.STRING(255),
allowNull: false
},
user_token: {
type: DataTypes.STRING(255),
allowNull: true
},
user_status_account: {
type: DataTypes.BOOLEAN,
allowNUll: false,
defaultValue: true
}
});
User.associate = models => {
User.hasOne(models.Personal, {
onDelete : "casecade"
});
};
return User;
};
我的用户路线:
const express = require("express");
const router = express.Router();
const db = require("../models");
router.get("/all", (req, res) => {
db.User.findAll({
include: [db.Personal]
}).then(users=> res.send(users));
});
module.exports = router;