Node.js 节点续集关系/关联连接模型
我面临的问题是续集的关系有很多和归属感。我添加了数据库关系的屏幕截图。 用户模型-Users.jsNode.js 节点续集关系/关联连接模型,node.js,sequelize.js,relationship,model-associations,Node.js,Sequelize.js,Relationship,Model Associations,我面临的问题是续集的关系有很多和归属感。我添加了数据库关系的屏幕截图。 用户模型-Users.js const connection = require('../db/connection'); const MessageDetails = require('./Message'); const User = connection.sequelize.define('users',{ id: { type: connection.Sequelize.INTEGER,
const connection = require('../db/connection');
const MessageDetails = require('./Message');
const User = connection.sequelize.define('users',{
id: {
type: connection.Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true
},
full_name: {
type: connection.Sequelize.STRING,
},
created_at: {
type: connection.Sequelize.DATE
}
},{
timestamps: true,
createdAt: 'created_at'
});
User.hasMany(MessageDetails,{
foreignKey: 'user_id',
sourceKey: 'id',
as: 'message'
})
module.exports = User;
消息模块-Messages.js
const connection = require('../db/connection');
const User = require('./User')
const Message = connection.sequelize.define('messages',{
id: {
type: connection.Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true
},
send_to: {
type: connection.Sequelize.INTEGER,
},
send_by: {
type: connection.Sequelize.INTEGER,
},
message: {
type: connection.Sequelize.STRING,
},
created_at: {
type: connection.Sequelize.DATE
}
},{
timestamps: true,
createdAt: 'created_at'
});
Message.belongsToMany(User , {
foreignKey: 'id',
sourceKey: 'send_to',
as: 'user_send_to'
})
Message.belongsToMany(User , {
foreignKey: 'id',
sourceKey: 'send_by',
as: 'user_send_by'
})
module.exports = Message;
错误-SequelizeAgerLoadingError:用户未关联到
留言
此外,我还尝试使用到
User.belongsToMany(Message, { as: 'Users', through: 'user_send_by', foreignKey: 'id' })
但同样的错误
质疑-
MessageSchema.findAll({
attributes: ['message', 'id','send_by','send_to'],
include:[
{
attributes: ['full_name'],
model: UserSchema,
as: 'users',
}
],
where:{
$or: {
send_by: 1,
send_to: 1
}
},
}).
续集版本-“^5.21.2”这可能会有帮助这可能会有帮助