在Strongloop中同时保存多个模型

我正在开发一个完全基于StrongLoop REST API的应用程序作为后端。

有一个registry单。 用户填写个人信息以及他/她所在公司的一些详细信息。 用户和公司是不同的模型,并有一个“有一个”的关系。

validation+同时将表单保存到两个模型的最佳方法是什么? (最好在一个请求中)

有几件事情可以使这个成为可能,但是我找不到任何有关它的文档,或者有点难看:

  • 包含相关公司模型的POST请求,类似于GET请求中存在的筛选器[include]选项。
  • 在不实际保存模型的情况下获取validation错误的一种方法,因此您可以在两个模型validation后保存整个表单(但是,需要多个请求)
  • 将整个表单发送到用户模型,并保存公司模型服务器端。

有什么想法吗?

这是使用钩子: 远程钩子操作钩子完成的

远程钩子是调用远程之前或之后调用的触发器。

所有执行特定高级创build,读取,更新或删除(CRUD)操作的方法都会触发操作挂钩。 这些都是应用程序模型inheritance的PersistedModel的所有方法。 远程钩子的例子:这进入了common / models的.js部分

Person.afterRemote('create', function (context, Person, cb) { var Role = app.models.Role; var RoleMapping = app.models.RoleMapping; Role.findOne({ where: { name: 'customer' } }, function (err, role) { role.principals.create({ principalType: RoleMapping.USER, principalId: Person.id }, function (err, principal) { if (err) cb(err); ... }); }); 

操作钩子示例:

 Company.observe('after save', function(ctx, next) { console.log('Going to save employee..'); next(); });