首页 > 解决方案 > sequelize 查找关联的数据

问题描述

我有 2 个模型ProphetTask,它们具有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'
    });
};

已编辑: 我的问题是有时我必须更新可能会删除与任务的某些关系的先知,但我不知道如何删除与任何先知没有更多关系的任务。

我相信我应该找到所有不再属于propertyTasks 表中的任务但我不知道如何用sequelize 查询它

标签: javascriptsequelize.js

解决方案


您可以使用ON DELETE CASCADE

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


推荐阅读