2016-11-04 6 views
0

У меня есть модель товара, скажем Product, которую может добавить пользователь.Как заполнять поле программно, когда экземпляр модели создается в Loopback?

Когда пользователь добавляет продукт, я хочу, чтобы Loopback добавил поле owner с идентификатором пользователя, прежде чем сохранять объект в БД.

Я полагаю, что мне нужно взглянуть на крючок .beforeRemote('create', function (context, modelInstance, next) {...}), но я вижу, что modelInstance пуст, и когда я что-то вкладываю в него, он, похоже, не проходит.

Как сделать Loopback добавить поле перед созданием элемента?

ответ

1

Вы искали крючок 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(); 
      }); 
}; 
+0

использование рабочих крючков вместо дистанционного крючка. http://loopback.io/doc/en/lb2/Operation-hooks.html –

Смежные вопросы