gpt4 book ai didi

javascript - Sequelize 包含模型但没有表名

转载 作者:行者123 更新时间:2023-12-03 22:17:09 25 4
gpt4 key购买 nike

我是 Sequelize 的新手

我有“嵌套急切加载”的问题

我有 2 个具有 1 对多关系的表

  • 评论表
  • 用户表

  • 我使用此代码进行查询
    Comment.findAll({
    include: [User]
    })

    我有
    {
    id: 1,
    comment: "test",
    user: {
    id: 3,
    name: "someone"
    }
    }

    但我期待这样的结果
    {
    id: 1,
    comment: "test",
    user_id: 3,
    user_name: "someone"
    }

    我读了几篇stackoverflow帖子,它有一个解决方案,但适用于3.3版
    Comment.findAll({
    attributes: ['id', 'name', ['user.id','user_id'], ['user.name','user_name']]
    include: [{ model: User, attributes:[], nested: false, required: true }]
    })
    Comment.findAll({
    attributes: ['id', 'name', [Sequelize.col('user.id'),'user_id'], [Sequelize.col('user.name'),'user_name']]
    include: [{ model: User, attributes:[], nested: false, required: true }]
    })

    但这对我不起作用。

    现在我使用 sequelize 5.5.1 如何实现它。

    有人可以帮我吗?

    我的女 friend 让我心碎。你是唯一能通过回答这个问题来治愈我的心的人。

    最佳答案

    您可以使用此代码来获得所需的输出:

    由于 Sequelize 是基于 promise 的,建议使用 then 和 catch。

    Comment.findAll({
    include: [User]
    }).then(result=>
    {
    let obj=
    {
    id: result.item,
    comment: result.comment,
    user_id: result.user.id,
    user_name: result.user.name
    };
    console.log(JSON.stringify(obj));

    }).catch(err=>
    {
    console.log(err);
    });

    关于javascript - Sequelize 包含模型但没有表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59467396/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com