Уже не первый день читаю документацию по Sequelize, но никак не могу сделать выборку из двух таблиц, которые ассоциируются между собой.
Есть две таблицы:
users
+----+-------+
| id | name |
+----+-------+
| 1 | name1 |
| 2 | name2 |
+----+-------+
и
settings
+---------+-------+
| user_id | group|
+---------+-------+
| 1 |standart|
| 1 |Middle |
| 2 |Middle |
+---------+---------+
Пытался указать связь через
users.belongsTo(settings, {foreignKey: 'user_id', targetKey: 'id'})
и
users.belongsToMany(settings, { through: 'user_id' })
Выборку производил через
Model.users.findAll({
attributes: ['name'],
where: {
id: {
[Op.in]: arUserID
}
},
include: [{
model: Model.settings,
attributes: ['group']
}]
})
Таблицы объявил примерно следующим видом
Sequelize.define('settings',{ /* ... */ }, { tableName: 'settings'}
От БД хочу получить имя пользователя ( из таблицы `users` ) и его группу ( из таблицы `settings` ), но в моих вариантах создаётся некорректная строка запроса и добавляется несуществующее поле ( Unknown column 'settings.id' in 'field list' ).