Как сделать вывод из 5 таблиц в 1 sequelize объединении? - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть 3 основные таблицы и 2 папки. Мне нужно объединить их в один, присоединиться только через sequelize. как я пытаюсь это сделать, но соединение не получается. Основная таблица: данные, слева, главная. как я пытаюсь это сделать, но соединение не получается.

left = sequelize.define('left',{
        id:{
            type: Sequelize.INTEGER,
            autoIncrement: true,
            primaryKey: true,
            allowNull: false
        },
        name:{
            type: Sequelize.STRING,
            allowNull: false
        }
    },{
        timestamps: false,
        freezeTableName: true
    }),
    main = sequelize.define('main',{
        id:{
            type: Sequelize.INTEGER,
            autoIncrement: true,
            primaryKey: true,
            allowNull: false
        },
        name:{
            type: Sequelize.STRING,
            allowNull: false
        }
    },{
        timestamps: false,
        freezeTableName: true
    }),
    data = sequelize.define('data',{
        id:{
            type: Sequelize.INTEGER,
            autoIncrement: true,
            primaryKey: true,
            allowNull: false
        },
        function:{
            type: Sequelize.STRING,
            allowNull: false
        },
        name:{
            type: Sequelize.STRING,
            allowNull: false
        },
        cabinet:{
            type: Sequelize.STRING,
            allowNull: false
        },
        phone:{
            type: Sequelize.STRING,
            allowNull: false
        }
    },{
        timestamps: false,
        freezeTableName: true
    }),
    m_l = sequelize.define('m_l',{
        id:{
            type: Sequelize.INTEGER,
            autoIncrement: true,
            primaryKey: true,
            allowNull: false
        }
    },{
        timestamps: false,
        freezeTableName: true
    }),
    l_d = sequelize.define('m_d',{
        id:{
            type: Sequelize.INTEGER,
            autoIncrement: true,
            primaryKey: true,
            allowNull: false
        }
    },{
        timestamps: false,
        freezeTableName: true
    })

как я пытаюсь это сделать, но соединение не получается

models.db.data.findAll({
    include:[{
        model: models.db.left,
        where:{
            id: request.body.left
        },
        required: true,
        include:[{
            model: models.db.main,
            where: {
                id: request.body.main
            },
            required: true
        }]
    }]
})
    .then(all=>{
        console.log(all);
    })
    .catch(err=>console.log(err));
...