addProject 不是函数(续集)

在我的应用程序中,我已经在User和Project表之间建立了关联。使用此代码:


User.belongsToMany(Project, {

    through: "users_projects"

});

Project.belongsToMany(User, {

    through: "users_projects"

});

当我做一个简单的发布请求时,我收到以下错误:


currentUser.addProject 不是函数


app.post("/project", async (req, res, next) => {

    try {

        const project = await Project.findOrCreate({

            where: {

                name: req.body.name,

                content: req.body.content

            }

        });

        const currentUser = await User.findAll({

            where: { id: req.body.userId }

        });

        console.log(currentUser);


        await currentUser.addProject(project[0]);

        res.json(project[0]);

    } catch (error) {

        next(error);

    }

});

什么可能导致这个问题?


湖上湖
浏览 81回答 1
1回答

慕森卡

findAll返回一个数组,所以你的代码应该是await currentUser[0].addProject(project[0])但是,如果您使用 查询id,则可以使用findByPk来获取对象。const currentUser = await User.findByPk(req.body.userId); await currentUser.addProject(project[0])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript