Sequelize多对多模型建好后怎么查询?

发布于 2022-09-04 20:24:47 字数 2262 浏览 16 评论 0

user表:

module.exports = function(sequelize, DataTypes) {
    return sequelize.define('user', {
        id: {
            type: DataTypes.INTEGER(12),
            allowNull: false,
            primaryKey: true,
            autoIncrement: true,
            unique : true
        },
        username: {
            type: DataTypes.STRING,
            allowNull: true
        }
    }, {
        timestamps: true,
        underscored: true,
        tableName: 'user',
        freezeTableName: true,
        paranoid: true
    });
};

bbs表:

module.exports = function(sequelize, DataTypes) {
    return sequelize.define('bbs', {
        id: {
            type: DataTypes.INTEGER(12),
            allowNull: false,
            primaryKey: true,
            autoIncrement: true,
            unique : true
        },
        name: {
            type: DataTypes.STRING,
            allowNull: true
        }
    }, {
        timestamps: true,
        underscored: true,
        tableName: 'bbs',
        timestamps: false,
        freezeTableName: true,
        paranoid: true
    });
};

建立关系:

db.user.belongsToMany(db.bbs, {through: 'userbbs', as:'userbbs'});
db.bbs.belongsToMany(db.user, {through: 'userbbs', as:'userbbs'});

生成表bbs,user,userbbs

userbbs结构:

userid,bbsid,update_at,create_at

执行以下语句成功,三表都插入相应数据:

Promise.all([
     db.user.create({username:'itbilu'}),
     db.bbs.create({name:'越秀'})
])
     .then(function(results){
            var user = results[0];
            var bbs= results[1];
            user.setUserBbs(bbs);
            res.json(results);
     })

但是到了查询,我想查询所有用户的信息和所在社区信息时就不知道怎么取了,看了网上多种方案都不行:

第一

db.user.findAll().then(function(user){
    user.getBbs();
    res.json(user);
})

user.getBbs is not a function。
然后试了user.getUserBbs();也不行

第二种,看的官方文档:

db.user.findAll({include:[{model:db.bbs]}).then(function(user){
    res.json(user);
})

报: bbs is not associated to user!

求到底应该怎么查啊?哭死

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无戏配角 2022-09-11 20:24:47

解决了,自己的问题

转角预定愛 2022-09-11 20:24:47

我也遇到这种问题,直接提示:user is not associated to address!

我不吻晚风 2022-09-11 20:24:47

试下user.getUserbbs

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文