Javascript 如何在Sequelize.js+Postgres.js中给出主键和外键关系

Javascript 如何在Sequelize.js+Postgres.js中给出主键和外键关系,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,我无法将关系赋予两个表用户和媒体 用户具有应包含媒体Id的配置文件字段 现在我已经为用户和媒体编写了这些模型,现在我想使用joinquery获取数据 用户模型 媒体模型 首先,媒体。属于用户。。。将向您的媒体模型添加一个字段媒体id,这不是您想要的。请尝试: User.belongsTo(Media, { as: 'media', foreignKey: { name: 'media_id', allowNull: false } });

我无法将关系赋予两个表用户和媒体 用户具有应包含媒体Id的配置文件字段

现在我已经为用户和媒体编写了这些模型,现在我想使用joinquery获取数据

用户模型

媒体模型

首先,媒体。属于用户。。。将向您的媒体模型添加一个字段媒体id,这不是您想要的。请尝试:

User.belongsTo(Media, {
    as: 'media',
    foreignKey: {
        name: 'media_id',
        allowNull: false
    }
});
然后,您应该修改您的查询:

// Find all users with media where media.id === user.media_id
User.findAll({
    include: [{
        model: Media,
        where: { id: Sequelize.col('user.media_id') }
    }]
})

获取此未经处理的拒绝SequelizeAgerLoadingError:媒体未与用户关联!
User.belongsTo(Media, {
    as: 'media',
    foreignKey: {
        name: 'media_id',
        allowNull: false
    }
});
// Find all users with media where media.id === user.media_id
User.findAll({
    include: [{
        model: Media,
        where: { id: Sequelize.col('user.media_id') }
    }]
})