javascript - Sequelize hasMany 关系的 getAssociation

标签 javascript sql node.js sequelize.js

BillingPspecial 具有 1:m 关系。所以, Billing.hasMany(Pspecial, {as: 'details',foreignKey: 'billing_id'})

现在,我想获取给定帐单的几个详细信息之一,并确保帐单存在于第一位。

GET/api/billings/:billingId/details/:pspecialId

async function getParticular(req, res, next) {

    try {

    let billing;
    let result;

    billing = await Billing.findById(req.params.billingId);

    if(!billing) {
        throw new Error('Billing Not found');
    }

    result = await billing.getParticular(req.params.particularId);
    //Oh, wait, but billing.getParticular is not a function

    if(!result) {
        throw new Error('Particular Not found');
    }

    res.json(result);

    } catch (e) {
        next(e)
    }

}

我该如何获取众多细节之一?

最佳答案

您正在寻找的方法是getParticulars ,它根据传递的 options

where 属性返回相关模型实例的列表
result = await billing.getParticulars({ where: { id: req.params.particularId } });

result 将是一个包含 id = 1 的详细信息数组,因此可能是单个元素数组。

关于javascript - Sequelize hasMany 关系的 getAssociation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42903105/

相关文章:

javascript - 使用 jquery trim 输入而不阻塞空格输入?

javascript - material-ui 用 useStyles/jss 覆盖主题

mysql - 如何在 MySQL 数据库中仅查找系统表?

mysql - SQL:如何查找特定值的最大数量的行

node.js - $接近错误 - 规划器返回错误 : unable to find index for $geoNear query

javascript - 如何将 PHP 变量传递给 Javascript 函数

javascript - 打开/关闭对话框

java - 使用 JDBC 在 SQL 中的日期之间搜索?

node.js - NodeJS 的资源管理

javascript - "Yield"Node.js 中的计算