【发布时间】:2020-07-29 04:08:36
【问题描述】:
我想实现计算属性。例如,我有Shop 和Book 模型,Shop 有很多Books。我想为Shop 创建属性booksCost,它等于书籍价格的总和(但我不想包括所有要查询的书籍)
我的第一个想法是创建一个操作钩子
Shop.observe('loaded', async function(ctx) {
const shopInstanse = ctx.data;
const books = await Shop.findById(shopInstanse.id).toJSON().books;
shopInstanse.booksCost = books.reduce((s, book) => s + book.price, 0);
});
我喜欢这种方式,但是当我调用findById 时,我的钩子会被递归调用。如何解决?
【问题讨论】:
标签: loopbackjs loopback