मेरे पास दो मॉडल संबंधित, कैटलॉग और उत्पाद श्रेणी हैं। उत्तरार्द्ध में एक रचनाकृत पीके, 'आईडी, भाषा_आईडी' है। यहाँ मॉडल सरलीकृत कर रहे हैं:अनुक्रमित करें: शामिल करें। जहां 'पैरेंट' मॉडल विशेषता द्वारा फ़िल्टरिंग
var Catalog = sequelize.define("Catalog", {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
user_id: {
type: DataTypes.INTEGER,
allowNull: false
},
product_category_id: {
type: DataTypes.STRING(7)
},
language_id: {
type: DataTypes.INTEGER
},
... more stuff ...
}
var ProductCategory = sequelize.define("ProductCategory", {
id: {
type: DataTypes.STRING(7),
primaryKey: true
},
language_id: {
type: DataTypes.INTEGER,
primaryKey: true
},
... more stuff ...
}
Catalog.belongsTo(models.ProductCategory, {foreignKey: 'product_category_id'});
मैं सूची से संबंधित ProductCategory मेज से कुछ जानकारी शामिल करने के लिए कोशिश कर रहा हूँ, लेकिन केवल तभी जब language_id मैचों।
अभी मुझे दोनों टेबलों से सभी संभावित मिलान मिल रहे हैं। इस क्वेरी अभी है:
Catalog.find({where:
{id: itemId},
include: {
model: models.ProductCategory,
where: {language_id: /* Catalog.language_id */}
}
})
वहाँ फिल्टर करने के लिए शामिल हैं जहां दोनों मॉडल एक ही भाषा है कैटलॉग से कोई विशेषता का उपयोग करने के लिए एक तरीका है?
वैसे, मैं भी बदल रहा है जहां caluse की कोशिश की है, किसी भी consecuence बिना:
where: {'ProductCategory.language_id': 'Catalog.language_id'}
इसका परीक्षण किया और एक आकर्षण की तरह काम करता है, मेरे आत्म-उत्तर में सुधार के लिए धन्यवाद। ;) –