2016-03-25 14 views
6

Bu pivot tabloya sahibim. Bu, Kişi ve Film modelleriyle çok fazla ilişkiyi temsil ediyor.Sequelize: Bir pivot tablodaki bir özel özniteliği eşleme

Pivot table schema

şey ben ilişkili kişileri almak filmleri aradığında rol almak istiyorum olduğunu. Bu çalıştı ama rol göstermiyor:

models.Movie.findAll({ 
    include: [{ 
     model: models.Person, 
     as: 'persons', 
     through: {attributes: ["role"]} 
    }] 
}).then(function(movies) { 
    res.json(movies); 
}); 

Ben role için model bir şey belirtmek gerekir mi?

+0

Bunu sonuçlandırmak için mi yaptınız? –

+0

@MichaelSchinis Gerçekten yaptım, cevabımı – Lucaribou

+0

hmm altında görüyorum. İlginç, teşekkürler! –

cevap

4

Sonunda bir dizi olarak role özniteliği ile movie_person pivot tablo için bir model oluşturarak bunu başarmayı başardım. Benim Movie modelinde

Sonra
var MoviePerson = sequelize.define("MoviePerson", { 
    role: DataTypes.STRING 
}, 
{ 
    tableName: 'movie_person', 
    underscored: true 
}); 

Bu

Movie.belongsToMany(models.Person, { 
    through: models.MoviePerson, 
    foreignKey: 'movie_id', 
    as: 'persons' 
}); 

benim Kişi modelinde bu besbelli benzer bir şey yapmak zorunda ve bu kadar eklendi!