Sequelize在两个表上有很多关系

时间:2016-11-24 23:06:54

标签: node.js sequelize.js

我有两张桌子

<li>

首先是

db.donation

第二个

db.sponzor。

我希望达到1:m的关系,一个赞助人可以有多次捐赠。

我用过

module.exports = function( sequelize , DataTypes ){
    var order = sequelize.define('prispevok',{
        id:{
            type: DataTypes.INTEGER,
            allowNull:false,
            primaryKey:true,
            autoIncrement:true
        },
        Typ:{
            type: DataTypes.STRING,
            allowNull:false
        },
        hodnota:{
            type: DataTypes.STRING,
            allowNull:false
        },
        popis:{
            type: DataTypes.STRING,
            allowNull:false
        }
    })
    return order;
}

module.exports = function( sequelize , DataTypes ){
    var shops = sequelize.define('sponzor',{
            id: {
                type: DataTypes.INTEGER,
                allowNull:false,
                primaryKey:true,
                autoIncrement:true
            },
            name:{
                type:DataTypes.STRING,
                allowNull:false
            },
            address:{
                type: DataTypes.STRING,
                allowNull:false
            },
            web:{
                type: DataTypes.STRING,
                allowNull:false
            },
            uid:{
                type: DataTypes.STRING,
                allowNull:false
            },
            lat:{
                type: DataTypes.DOUBLE,
                allowNull:true
            },
            lng:{
                type: DataTypes.DOUBLE,
                allowNull:true
            }
    })
    return shops
}

但是在sqlitebrowser中检查它,它在donatio表中添加了列“捐赠”,反之亦然,它不应该将此列添加到sponzor表中吗?

虽然它是1:m关系,但我应该如何在其中添加其他捐赠? 我应该传递它的ID,它会创建一个数组或者它的方法是什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

http://docs.sequelizejs.com/en/latest/docs/associations/#one-to-many-associations

“Project.hasMany(User,{as:'Workers'}) 这会将属性projectId或project_id添加到User。“

您应该将hasMany放入捐赠模型中。

“同样,当它是1:m的关系时,我应该如何在其中添加另一个捐赠?我应该传递它的ID,它会创建一个数组或者它是如何做到的?”

你可以使用另一个别名和另一个foreingKey

来做到这一点