Использую mysql и sequelize в Node.js проекте.
Имеется две модели:
module.exports = (sequelize, Sequelize) => {
let Game = sequelize.define('game',
{
id: {
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
type_game: {
type: Sequelize.INTEGER,
allowNull: true
},
nickname: {
type: Sequelize.STRING(100),
allowNull: true
},
},
{
charset: 'utf8',
collate: 'utf8_general_ci',
timestamps: true
});
Game.associate = function(models) {
Game.hasOne(models.type_game, {
foreignKey: 'id',
as: "type",
});
};
return Game;
};
И вторая модель
module.exports = (sequelize, Sequelize) => {
let Type_game = sequelize.define('type_game',
{
id: {
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
type_game: {
type: Sequelize.STRING(45)
},
}
);
return Type_game;
};
Хочу выполнить такой запрос:
SELECT g.*, t.type_game as type_game_text FROM games as g
LEFT JOIN type_games as t ON g.type_game = t.id
WHERE g.nickname = 'anonymus_8'
Пытаюсь сделать запрос:
Game.findAll({
where: {
is_end: 0
},
include: [
{
model: Type_game,
as: 'type',
}
]
},)
.then(function(result, created) {
console.log(result);
});
А получается, что-то вроде:
SELECT `game`.`id`, `game`.`type_game`, `game`.`nickname`,
`type`.`id` AS `type.id`, `type`.`type_game` AS `type.type_game`
FROM `games` AS `game` LEFT OUTER JOIN `type_games` AS `type` ON `game`.`id` = `type`.`id`
WHERE `game`.`nickname` = 'nick'
Но получается не тот запрос, который мне нужен. Помогите советом, как мне сделать этот SQL запрос с помощью sequelize
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В проекте есть таблица Bootstrap, состоящая из трех колонокПодключен плагин colresizable для того чтобы иметь возможность изменять ширину колонок...