[英]Sequelize where statement foreign table
我有以下設置:
var Module = sequelize.define('module', {
id: DataTypes.INTEGER,
name: DataTypes.STRING,
description: DataTypes.STRING,
category_id: DataTypes.STRING,
module_type_id: DataTypes.STRING,
gives_score: DataTypes.INTEGER,
duration: DataTypes.STRING,
price: DataTypes.STRING
}, {
freezeTableName: true,})
Organization_has_module
Organization_has_module = sequelize.define('organization_has_module', {
id: DataTypes.INTEGER,
module_id: DataTypes.INTEGER,
organization_id: DataTypes.INTEGER
},{freezeTableName:true});
Module.hasMany(Organization_has_module, {foreignKey: 'module_id'});
現在,我正在嘗試查找Organization_has_module.organization_id = 1
所有模塊
但是我不太確定該怎么做
我有以下代碼:
Module.findAll({include: [{ all: true }],where: {module_type_id: type_id}})
.success(onSuccess).error(onError);
我認為這與您的其他問題一樣?
.hasMany()
沒有引用N:M
關系,而是引用了1:M
。 由於您的.belongsToMany()
您需要.belongsToMany()
來引用N:M
。
Organization.belongsToMany(Module, {
through: Organization_has_module,
as: 'module',
foreignKey: 'module_id'
})
Module.belongsToMany(Organization, {
through: Organization_has_module,
as: 'organization',
foreignKey: 'organization_id'
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.