문제점은 상태 유형 객체를 열심히로드하지 않는 hasOne 관계를 작동시킬 수 없다는 것입니다.연관 관계를 다시 열어주세요. hasOne, belongsTo
모든 쿼리는 기존 테이블에서 수행됩니다.
module.exports = function(sequelize, DataTypes) {
return sequelize.define('customer', {
customer: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: true,
validate: {
isNumeric: true
}
},
first_name: {
type: DataTypes.STRING(100),
validate: {
isAlphanumeric: true
}
},
last_name: DataTypes.STRING(100),
identity_code: {
type: DataTypes.STRING(20),
allowNull: true,
validate: {
isNumeric: true
}
},
note: DataTypes.STRING(1000),
birth_date: DataTypes.DATE,
created_by: DataTypes.INTEGER,
updated_by: DataTypes.INTEGER,
cst_type: DataTypes.INTEGER,
cst_state_type: {
type: DataTypes.INTEGER,
}
}, {
tableName: 'customer',
updatedAt: 'updated',
createdAt: 'created',
timestamps: true
});
};
cst_state_type 테이블 : 관계를 기술하는 방법
module.exports = function(sequelize, DataTypes) {
return sequelize.define('StateType', {
cst_state_type: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
validate: {
}
},
name: DataTypes.STRING(100),
}, {
tableName: 'cst_state_type',
timestamps: false
});
};
:
global.db.Customer.hasOne(global.db.StateType, {
foreignKey: 'cst_state_type',
as: 'state_type'
});
global.db.StateType.belongsTo(global.db.Customer, {
foreignKey: 'cst_state_type'
});
그리고 열망 만들어 여기에
은 고객 테이블의cst_state_type
필드 뭐죠 중요하다 로드 검색어 :
db.Customer.findAll({
include: [
{ model: db.Address, as: 'addresses' },
{ model: db.StateType, as: 'state_type' }
]
})
.success(function (customers) {
res.json(200, customers);
})
.fail(function (error) {
res.json(500, { msg: error });
});
좋은 예! 간단하고 기능적입니다. –