Sequelize нетерпеливая загрузка, неизвестный столбец в «списке полей» - PullRequest
0 голосов
/ 02 мая 2020

Это мой запрос

members.findAll({
            where: {
                parentId: null,
                activeFlag: true
            },
            attributes: [
                'id',
                'firstName',
                'lastName',
                'DOB',
                'gender',
                [Sequelize.col('user.email'), 'email'],
                [Sequelize.col('employer.employerId'), 'employerId'],
                [Sequelize.col('employer.name'), 'employerName']
            ],
            include: [
                {
                    model: users,
                    as: 'user',
                    attributes: [],
                },
                {
                    model: employers,
                    as: 'employer',
                    attributes: [],
                },
                {
                    model: members,
                    as: "dependents",
                    attributes: [
                        'id',
                        'firstName',
                        'lastName',
                        'DOB',
                        'gender'
                    ],
                    include: [
                        {
                            model: users,
                            as: 'user',
                            attributes: ['email']
                        },
                        {
                            model: employers,
                            as: 'employer',
                            attributes: []
                        }
                    ]
                }
            ]
        });

Это результат, который я получаю

[
        {
            "id": "291c8efd-58df-4dc6-ab90-25dc7888ceff",
            "firstName": "Jijo",
            "lastName": "Alexander",
            "DOB": "1994-02-14T00:00:00.000Z",
            "gender": "male",
            "email": "jijo@gmail.com",
            "employerId": "EMP-1",
            "employerName": "Employer 1",
            "dependents": [
                {
                    "id": "2dce983c-8c86-4463-9a18-66bd02e07843",
                    "firstName": "Jijo",
                    "lastName": "Dependent 2",
                    "DOB": "2010-02-15T00:00:00.000Z",
                    "gender": "male",
                    "user": null
                },
                {
                    "id": "6490877a-dd1d-40b2-9e60-d24886017f4f",
                    "firstName": "Jijo",
                    "lastName": "Dependent 3",
                    "DOB": "2010-02-15T00:00:00.000Z",
                    "gender": "male",
                    "user": {
                        "email": "jijo_depent_3@gmail.com"
                    }
                },
                {
                    "id": "7fc11cb0-d341-4ae5-ba38-0d34aadad98e",
                    "firstName": "Jijo",
                    "lastName": "Dependent 1",
                    "DOB": "2010-02-15T00:00:00.000Z",
                    "gender": "male",
                    "user": null
                }
            ]
        }
    ]

Моя проблема в том, что мне нужно получить адрес электронной почты на том же уровне gender из user.email Я уже пробовал [Sequelize.col('user.email'), 'email'] на уровне иждивенцев, но я получаю сообщение об ошибке типа Unknown column 'dependents.user.email' in 'field list'

...