顺序查找关联的数据

时间:2018-06-28 21:17:30

标签: javascript sequelize.js

我有2个模型先知任务,它们之间的关系是 m:n

先知

const prophet = sequelize.define('prophets', {
    name: {
        type: Sequelize.STRING,
        primaryKey: true,
        unique: true
    }
});
prophet.relationship = function(task) {
    prophet.belongsToMany(task, {
        through: 'prophetTasks',
        as: 'tasks',
        foreignKey: 'prophetName'
    });
};

任务

const task = sequelize.define('tasks', {
    name: {
        type: Sequelize.STRING,
        primaryKey: true,
        unique: true
    }
});
task.relationship = function(prophet) {
    task.belongsToMany(prophet, {
        through: 'prophetTasks',
        as: 'prophets',
        foreignKey: 'taskName'
    });
};

编辑: 我的问题是有时我必须更新一个先知,这可能会删除与任务的某些关系,但是我无法弄清楚如何删除与任何先知没有任何关系的任务。

我相信我应该在 prophetTasks 表中找到所有不属于自己的任务,但我不知道如何使用续集查询

1 个答案:

答案 0 :(得分:0)

  

您可以使用ON DELETE CASCADE

因此,每当删除该行时,包含该行作为外键的数据都将被删除。