【发布时间】:2017-03-20 21:16:40
【问题描述】:
Billing 和 Particular 具有 1:m 关系。所以,
Billing.hasMany(Particular, {as: 'particulars', foreignKey: 'billing_id'})
现在,我想获取给定帐单的几个细节之一,同时确保帐单首先存在。
GET /api/billings/:billingId/particulars/:particularId
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)
}
}
我应该如何抓住众多细节中的一个?
【问题讨论】:
-
当您获得您的计费对象时,它应该包含一个详细信息列表。为什么要使用特定 id 发出另一个请求?
-
billing不包含particulars。不过,他们可能会急切地加载。在 mongodb 我可以做billing.particulars.id(particularId)。我期待类似的事情。
标签: javascript sql node.js sequelize.js