dahil, iki derneklerle modelleri var: bazı uygulama mantığı sonrasequelize findOrCreate assoication sequelize kullanma
var Assessment = sequelize.define("Assessment", {
name: DataTypes.STRING
});
var User = sequelize.define("User", {
sid: DataTypes.STRING
});
Assessment.belongsTo(User);
User.hasMany(Assessment);
, bir User
var: Bu noktada
User.findOrCreate({ where: {sid: "123"} }).spread(function (user, created) {
// user is a User
});
, ben sequelize alamayan Kullanıcıyı bir Assessment.findOrCreate
'un parçası olarak ilişkilendirmek. (Bir yoksa) Bu kod veritabanında yeni Değerlendirme kayıt yaratacak, ama (yerine bu sadece NULL) kaydının bir parçası olarak o Kullanıcı anahtarı içermez olacaktır:
Assessment.findOrCreate({
where: { },
include: [ { model: User, where: user.primaryKeyValues } ]
}).spread(function (assessment, created) {
// ...
});
Ben bir çözüm ekleyerek çalışma vardır:
assessment.setUser(user).then(function(assessment) {
...
});
... Ancak bu sadece kaydı oluşturarak parçası olmalıdır SQL UPDATE sonuçlanır. Bunu yapmanın bir yolu olması gerektiği konusunda kesin olarak eminim, ancak dokümanlar/öylesine/vb.