Вложенное внутреннее объединение в sequalize PostgreSQL - PullRequest
0 голосов
/ 07 марта 2019

Я хочу отобразить всех пользователей, кроме того, чье имя является трейдером и клиентом администратора.

Таблица пользователей содержит: идентификатор, имя, адрес электронной почты и пароль

Таблица ролей содержит:id, role_name

RoleMapping имеет: id, user_id и role_id

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

models.User.findAll({
      include: [{
            model: models.RoleMapping,
            as: 'user_role',
            attributes: ['user_id', 'role_id'],
            include: [{
                model: models.Role,
                as: 'Role',
                attributes: ['id', 'role_name', ],
            }]
        }],
        where :{
            '$Role.role_name$': {
                $notIn: ['Trader','Customer','admin']
            }

        }  
    })

получение этой ошибки: отсутствует запись в предложении FROM длястол "Роль"

1 Ответ

0 голосов
/ 07 марта 2019

Можешь попробовать?И дайте мне знать, я постараюсь обновить ответ.Я не проверяю это

models.User.findAll({
  include: [{
        model: models.RoleMapping,
        as: 'user_role',
        attributes: ['user_id', 'role_id'],
        include: [{
            model: models.Role,
            as: 'Role',
            attributes: ['id', 'role_name', ],
            where :{
              role_name: {
                  $notIn: ['Trader','Customer','admin']
              }
          }
        }]
    }],  
})
...