J'ai un problème avec séquencer ManyToMany relations.Node.js Sequelize relations ManyToMany produisant un SQL incorrect
Voici mes modèles ...
var db = {
players: sequelize.define('players', {
name: Sequelize.STRING
}),
teams: sequelize.define('teams', {
name: Sequelize.STRING
}),
init: function() {
this.players.hasMany(this.teams, {joinTableName: 'teams_has_players'});
this.teams.hasMany(this.players, {joinTableName: 'teams_has_players'});
this.players.sync();
this.teams.sync();
}
};
Voici le trouver
db.players.findAll({
where: {team_id: 1},
include: ['teams']
}).success(function(results) {
// print the results
});
La découverte ci-dessus produira l'instruction SQL suivante:
SELECT
players . *,
teams.name AS `teams.name`,
teams.id AS `teams.id`
FROM
players
LEFT OUTER JOIN
teams_has_players ON teams_has_players.player_id = players.id
LEFT OUTER JOIN
teams ON teams.id = teams_has_players.team_id
WHERE
players.team_id = '1';
Ce qui semble être mal avec c'est que l'instruction WHERE doit être WHERE teams.team_id = '1'
Où est-ce que je me trompe?
Merci à l'avance
Merci de m'avoir fait savoir que ce n'était pas un bug, j'ai changé la recherche en ... db.teams.findAll ({ où: {id: req.params.team_id}, include: [' des joueurs] }). success (fonction (résultats) { res.json (résultats); }); et cela fonctionne comme prévu. Merci d'avoir choisi Sascha, j'aimerais juste qu'il y ait plus de documentation. –
ouais beaucoup de choses doivent être améliorées. si le temps libre suffirait à tout faire à la fois :) – sdepold