【问题标题】:findAll() on eager loaded models in Sequelize?在 Sequelize 中急切加载的模型上的 findAll()?
【发布时间】:2015-02-03 22:45:56
【问题描述】:

以下方法不起作用,其中 GroupUser 模型具有 N:M 关系:

var user_list = ["bob", "alice", "carol"];

Group.find({ where: { id: 1 }, include: [ { model: User, as: 'users' }]).then(function(group) {

    // Find group users that are also in user_list
    group.users.findAll({ where: { name: user_list }).then(function(affectedRows) {
        // Do stuff with affectedRows
    });

   // Find group users not in user_list
   group.users.findAll({ where: { name: { not: user_list } } }).then(function(affectedRows) {
        // Do stuff with affectedRows
   });

});

错误是:

可能未处理的 TypeError: Object [object SequelizeInstance],[对象 SequelizeInstance],[对象 SequelizeInstance],[对象 SequelizeInstance],[对象 SequelizeInstance],[对象 SequelizeInstance],[对象 SequelizeInstance],[对象 SequelizeInstance],[对象 SequelizeInstance],[对象 SequelizeInstance],[对象 SequelizeInstance],[object SequelizeInstance] 没有方法 'findAll'

我正在尝试根据给定列表获取 UNION 和 EXCEPT。有没有办法在不让 Sequelize 使用原始 SQL 的情况下做到这一点?

【问题讨论】:

    标签: javascript node.js postgresql sequelize.js


    【解决方案1】:

    group.users 是一个行数组 - 不是可以调用方法的模型。

    如果您想过滤用户,您应该使用Array.filter 并使用纯 JavaScript 进行过滤

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-18
      • 2016-10-14
      • 2021-02-07
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 2013-03-27
      • 1970-01-01
      相关资源
      最近更新 更多