javascript - Sequelize include 不适用于 hasOne 关系

标签 javascript node.js sequelize.js

嗨,我有一个 User 模型和一个 ProfilePicture 模型。一个用户只能拥有一张头像,一张头像只能属于一个用户。
我的问题是在我的获取请求中,我正在调用个人资料图片模型并包括用户模型,我只得到我的个人资料图片而没有我的用户对象。

User.hasOne(pp,
    { foreignKey: "userId" }
);

pp.belongsTo(User,
    { foreignKey: "userId" }
);

router.get(
    "/pp",
    auth,
    async (req, res) => {
        let { id } = req.user;

        await pp.findOne({
            where: {
                userId: id
            }
        },
        {
            include: [{
                model: User,
            }]
        }).then((user) => {
            console.log(user)
                
            if (!user)
                return res.status(404).send();

            res.send(user);
        });
    });

最佳答案

您需要在第一个参数中包含 include

await pp.findOne({
  where: {
    userId: id
  },
  include: [
    {
      model: User
    }
  ]
});

关于javascript - Sequelize include 不适用于 hasOne 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66514363/

相关文章:

node.js - 下载图像并使用 multipart/form-data 将其发送到 API

node.js - 在进行 id 注入(inject)时,如何让 Loopback 优先选择短 id?

javascript - Node.js - 如何使用 Sequelize 事务

javascript - Sequelize - 如何比较日期之间的相等性

mysql - 如何将原始查询(Sequelize)的结果返回到 GraphQL

javascript - Angular 不直接在 html 上绑定(bind)数据

javascript - CSS/SVG 描边动画

javascript - 将乘法金额结果限制为小数点后 2 位

javascript - 显示函数被调用的位置,而不是定义它的位置 console javascript

node.js - Ionic 2 - 使用 npm install 安装 node_modules 时出错?