2015-11-25 8 views
10

sequelize में यह एक पंक्ति बनाने के लिए संभव है और इस तरह एक बार में सभी यह संघ:Sequelize अद्यतन

वहाँ अपडेट के लिए कोई बराबर है? मैं

model.user.update(req.body.user, {where: {id: req.user.user_id}, include: [model.profile]}) 

की कोशिश की लेकिन यह केवल

अद्यतन करने है उपयोगकर्ता काम करता है

model.user.create(user, {transaction: t, include: [model.profile]}) 

उत्तर

6

सबसे पहले आप उप मॉडल है जो आप अपडेट करना चाहते सहित मॉडल खोजने के लिए बनाने के लिए ऐसा करने से। तो आप आसानी से अद्यतन करने के लिए उप मॉडल का संदर्भ प्राप्त कर सकते हैं। मैं आपके संदर्भ के लिए एक उदाहरण पोस्ट कर रहा हूं। उम्मीद है कि यह मदद करेगा।

var updateProfile = { name: "name here" }; 
var filter = { 
    where: { 
    id: parseInt(req.body.id) 
    }, 
    include: [ 
    { model: Profile } 
    ] 
}; 

Product.findOne(filter).then(function (product) { 
    if (product) { 
    return product.Profile.updateAttributes(updateProfile).then(function (result) { 
     return result; 
    }); 
    } else { 
    throw new Error("no such product type id exist to update"); 
    } 
}); 
+0

यह – Jacob

+2

को अद्यतन करने के लिए सबसे अच्छा समाधान केवल मुद्दा मैं इस दृष्टिकोण के साथ दिखाई दे रही है आप कोई अन्य अनुरोध मूल फ़िल्टर्ड वस्तु अपडेट करेगा मान है हो रहा है। –