Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关联的Sequelize Mysql2_Javascript_Mysql_Node.js_Express_Sequelize.js - Fatal编程技术网

Javascript 关联的Sequelize Mysql2

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");

我已经为两个表、personals和profiles创建了关系,但是当我想获取所有与profile相关的personals时,我有一个错误“profile与personal没有关联”。
关系是一个人拥有多个个人资料

我的个人路线如下:

 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;