前提是我在sequelize
return models.VehicleModel
.findAll({
include: [
{
attributes: ['id'],
model: models.Unit
},
{
model: models.myPattern,
where: {
VehicleModelId: { $in: data.VehicleModelIds }
},
include: [
{
model: models.Calendar,
include: [
{
model: models.Restrictions,
include: [
{
model: models.RestrictionType
}],
where: {
//THIS IS THE LINE I NEED TO CHANGE SOMEHOW
UnitId: { $in: [models.Unit.id] }
},
required: false
}
]
}
]
}
],
where: {
id: { $in: data.VehicleModelIds }
}
})
这会在查询中给我NULL
,如下所示:
[myPattern.Calendar.Restrictions].UnitId IN (NULL) AND ....
我希望能够获得以下内容:
[myPattern.Calendar.Restrictions].UnitId IN (Units.id) AND ....
这是因为它们不是强制性的,但当然应该链接到与车型相对应的适当单位。
myPattern
与Calendar
相关联,后者又与Restrictions
相关联,因此与Units
相关联。
全部使用id
列。
任何帮助将不胜感激!
答案 0 :(得分:0)
找到它
所以对于那些寻找“如何”:
的人//...
where: {
UnitId: { $in: [models.sequelize.literal('Units.id')] },
}
//...and so on
这将在查询中输出:[myPattern.Calendar.Restrictions].UnitId IN (Units.id)