gpt4 book ai didi

node.js - 在 Strongloop 中同时保存多个模型

转载 作者:太空宇宙 更新时间:2023-11-03 22:15:15 25 4
gpt4 key购买 nike

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

只有一张注册表。用户填写个人详细信息以及他/她工作的公司的一些详细信息。用户和公司是独立的模型,并且具有“一”的关系。

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

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

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

有什么想法吗?

最佳答案

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

远程 Hook 是在调用远程之前或之后调用的触发器。

操作 Hook 由执行特定高级创建、读取、更新或删除(CRUD)“操作”的所有方法触发。这些都是应用程序模型继承的 PersistedModel 的方法。远程 Hook 示例:这进入 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);
...
});
});

操作钩子(Hook)示例:

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

关于node.js - 在 Strongloop 中同时保存多个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31101100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com