javascript - Sequelize ,其中relation.attribute 等于

标签 javascript node.js sequelize.js

我有以下定义:

var Team = sequelize.define('academy_team', {
    id: DataTypes.INTEGER,
    name: DataTypes.STRING,
    academy_id: DataTypes.INTEGER,
    is_complete: DataTypes.INTEGER,
    started: DataTypes.INTEGER
}, {
    freezeTableName: true,
    instanceMethods: {
        startedTeams: function(onSuccess, onError) {
            Team.findAll({
                    include: [{
                        all: true
                    }],
                    where: {
                        model: academy,
                        division_id: 19
                    }
                }, {})
                .ok(onSuccess).error(onError);
        }
    }
});

academy = sequelize.define('academy', {
    id: DataTypes.INTEGER,
    name: DataTypes.STRING,
    organization_id: DataTypes.INTEGER,
    division_id: DataTypes.INTEGER,
    status_id: DataTypes.INTEGER
}, {
    freezeTableName: true,
    instanceMethods: {}
});

具有以下关系:
Team.belongsTo(academy, {foreignKey: 'academy_id'});

现在,从我的(失败)尝试中可以看出,我正在尝试选择 academy.division_id = 19 的团队。

然而这不起作用

我还尝试了以下方法:
Team.findAll({include: [{all: true}], where: {division_id: 19 }}, {})
.ok(onSuccess).error(onError);

可悲的是,这产生了以下 sql:
where academy_team.division_id = 19

最佳答案

如果需要 where 条件,则不能使用 include all

Team.findAll({
  include: [
    { model: academy, where: { division_id: 19 }
  ]
});

关于javascript - Sequelize ,其中relation.attribute 等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624277/

相关文章:

javascript - 具有多策略 sigup 的用户表架构

node.js - 不支持 Gulp 流 使用 gulp-istanbul 时出错

javascript - Sequelize 复杂和/或

javascript - 函数未在 javascript 中定义

javascript - 焦点文本字段中的 TYPE 值(如 selenium RC 中的 TYPE)- Selenium webdriver

javascript - Express-node 服务器在 GET 上返回空数组

node.js - Sequelize 给出 TypeError

mysql - 使用 sequelize 向列添加评论

javascript - 当我单击标记时,不会出现弹出窗口。我收到以下错误

javascript - 多个下拉菜单滑动切换