-1
アソシエーション・メソッドを使用してSequelize orm NodeおよびSequelize ORMを使用してAPIを作成しています。使用されているデータベースはMYSQLです。私は以下のコードでbelongsTo()を使用しました。 各ユーザーにはお気に入りのゲームがあります。 user_Idを使用して各ユーザーのお気に入りのゲームを入手してください。 私は後に続ける結果を得ましたが、別のものを除きました。アソシエーション・メソッドを使用してSequelize orm
this.userFavoriteGameModel = require("../entity/favorite_game")(this.database, this.Sequelize);
this.gameModel = require("../entity/game")(this.database, this.Sequelize);
//Fecth user favorite game list
favoriteGameList(name, cb) {
let self = this;
var user_Id = 5;
self.userFavoriteGameModel.belongsTo(self.gameModel, {
as: "game_detail",
foreignKey: 'game_Id'
});
self.userFavoriteGameModel.findAll({
attributes: [
'game_Id'
],
where: {
user_id: user_Id
},
include: [{
model: self.gameModel,
as: 'game_detail',
attributes: ["game_Title", "game_Subtitle", "icon", "game_Rating"]
}],
group: ['game_Id']
}).then(function (result) {
cb(result);
let obj1 = result;
let obj2 = Object.assign({}, obj1);
console.log(JSON.stringify(obj2));
}, function (err) {
console.log('An error occurred while creating the table:', err);
cb(err);
});
}
}
[
{
"dataObject": [
{
"game_Id": 57,
"game_detail": {
"game_Title": "battlefield1",
"game_Subtitle": "Limited edition",
"icon": "image.png",
"game_Rating": 2
}
},
{
"game_Id": 58,
"game_detail": {
"game_Title": "battlefield2",
"game_Subtitle": "Limited edition",
"icon": "image.png",
"game_Rating": 1
}
}
]
}
]
Excepting Result :
[
{
"dataObject": [
{
"game_Id": 57,
"game_Title": "battlefield1",
"game_Subtitle": "Limited edition",
"icon": "image.png",
"game_Rating": 2
},
{
"game_Id": 58,
"game_Title": "battlefield2",
"game_Subtitle": "Limited edition",
"icon": "image.png",
"game_Rating": 1
}
]
}
]