【问题标题】:Sequelize - do I have to specify "as" in both model and query?Sequelize - 我必须在模型和查询中都指定“as”吗?
【发布时间】:2022-01-02 22:55:16
【问题描述】:

这似乎是多余的,并迫使我在两个位置对相同的字符串进行硬编码 - 或者将其粘贴在必须传递的变量中。无论哪种方式,如果我在我的模型中指定关系的“as”,为什么我必须稍后在查询时使用相同的“as”属性调用它?

我的关系:

organization.hasMany(client, { as: "Clients", foreignKey: "organization_id" });
client.belongsTo(organization, { as: "AuthOrganization", foreignKey: "organization_id" });

查询:

    let data = await client.findOne({
        include: [{ model: organization, as: "AuthOrganization" }]
    }, { raw: true });

如果我省略了相同的“as”属性,则会抛出一个错误,告诉我将其放入其中。我是 Sequelize 的新手,但它似乎是这种方式,因为“as”可用于识别不明确的关系。但是,您在模型中设置的值似乎是合理的默认值,不是吗?

我真正想要的是这个,当我写一个查询时:

    let data = await client.findOne({
        include: organization
    }, { raw: true });

我这样做只是为了避免混合函数名称中的自动下划线。我无法忍受丑陋的“addAuth_organization”函数名称,也找不到解决此问题的其他方法。

【问题讨论】:

    标签: javascript node.js orm sequelize.js


    【解决方案1】:

    我会认为这是“是”。 ?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      相关资源
      最近更新 更多