当在环回中创建模型实例时,如何以编程方式填充字段

How to populate a field programmatically when a Model instance is created in Loopback?

本文关键字:编程 方式 字段 填充 创建 实例 模型      更新时间:2023-09-26

我有一个项目模型,例如Product,它可以由用户添加。

当用户添加产品时,我希望环回在将实体保存到DB之前添加一个带有用户id的字段owner

我想我需要看看.beforeRemote('create', function (context, modelInstance, next) {...})钩子,但我看到modelInstance是空的,当我把一些东西放进它,它似乎没有通过。

如何在创建项目之前使环回添加一些字段?

你是在找before save钩子吗?

module.exports = function (Product) {
     Product.observe('before save', function beforeSave(ctx, next) {
                if (ctx.instance) {
                   //on create
                   ctx.instance.owner = 'yourId';
                } else {
                   // on edit
                   ctx.data.owner = 'yourId';
                }
                next();
            });
};