Sequelize 부교수 테이블 컬럼 값 :Sequelize - 나는 sequelize 모델이 쿼리를 수행 할 위치 조건</p> <p>부교수 테이블 열 - WHERE 조건
SELECT * FROM `model_game` AS `Game` INNER JOIN `model_activity` AS `Activity` ON `Game`.`ActivityId` = `Activity`.`id` WHERE `Game`.`startAt` > ('2017-03-25 07:37:36'-`Activity.duration`) AND `Game`.`status` = 'NotStarted';
내가 sequelize.col를 사용하여 시도를() 함수 , 그러나 여전히 가치를 뿌리 뽑을 수는 없습니다. 내 코드
var Activity = sequelize.define("Activity", {
title: DataTypes.STRING,
duration: DataTypes.INTEGER
},{
classMethods: {
associate: function(models) {
Activity.hasMany(models.Game);
}
}
});
지금 값 만 sequelize.col ("Activity.duration")는 모든
에 영향을주지 않습니다 반환하는 쿼리를 찾기My Game model . table name model_game
var Game = sequelize.define("Game", {
startAt: DataTypes.DATE,
status: DataTypes.ENUM('NotStarted','Completed')
}, {
classMethods: {
associate: function(models) {
Activity.belongsTo(models.Activity);
}
}
});
내 활동 모델, 테이블 이름 model_activity 이하
var currentTime = moment();
models.Game.findAndCountAll({
where: { status: 'NotStarted',
startAt: {gt: currentTime.subtract(moment.duration(sequelize.col("Activity.duration"), 'minutes'))},
},
include: [{
model: models.Activity
}]
}).then(function(result) {
//Success
});
위의 코드는 "Activity.duration"기간 값을 채우지 않습니다. 그리고 아무런 오류도 없습니다. 이것을 바로 잡기 위해 무엇을해야합니다. 미리 감사드립니다
답해 주셔서 감사합니다. 하지만이 오류가 발생합니다. 오류 : ER_BAD_FIELD_ERROR : 'where 절'에서 알 수없는 'Activity.duration'열 –
'INTERVAL'활동 "."duration "MINUTE"을 시도하거나 도움이되지 않으면 생성중인 SQL을보고 '활동 '액티비티 테이블의 알맞은 별명을 사용하십시오. – piotrbienias
고마워요, 필수 항목 추가 : 활동 모델에서 true로 설정하면 문제가 해결되었습니다. :) –