在创建时使用 Sequelize 保存时获取关联

Fetch associations on create or save with Sequelize

本文关键字:保存 获取 Sequelize 关联 创建      更新时间:2023-09-26

相当简单的问题,只是找不到好的/干净的方法来做到这一点,而无需调用另一个查找

我已经用Angular-Resource装备了我的节点应用程序,我只是对新的或更改的数据进行一些往返的数据调用。

所以ngResource对我的/api/users/:id发出$save()电话等等。Node 通过创建或查找用户、进行更新并保存它们来响应此调用。

无论是通过create()还是save(),它都会返回创建的记录,现在,我使用 res.json(user) 为我的 Angular 溢出创建/返回的记录,以处理使用更新的信息填充我的视图

现在,我知道使用 Sequelizes find()findAll() 方法,我可以使用findAll({ include: [{ all: true }]})或单独指定我的模型。

我想知道的是,在保存/创建时获得记录关联的最佳方法是什么

不幸的是,这不起作用:

models.User.create(newuser, {include:[{ all: true }]}).then(function(user) {
        res.json(user);
    });

我是否真的必须执行另一个find()才能获得我的托管模型关联?

为了更好地说明RedactedProfile评论中的选择解决方案,这里是代码。

models.User
  .create(newuser, {include:[{ all: true }]})
  .then(user => {
      user.reload().then(user => { res.json(user); })
  });