sequelize为hasMany关系的getAssociation

时间:2017-03-20 12:03:50

标签: javascript sql node.js sequelize.js

BillingParticular1:m关系。所以, Billing.hasMany(Particular, {as: 'particulars', foreignKey: 'billing_id'})

现在,我想获取给定账单的几个细节之一,同时确保账单存在。

GET / api / billings /:billingId / particulars /:specialId

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)
    }

}

我该如何抓住其中一个细节?

1 个答案:

答案 0 :(得分:1)

您要查找的方法是getParticulars,它会根据传递的where

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

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