0
我想執行這個查詢在sequelize型號:在sequelize中的「where」子句中使用聯結表中的列?
SELECT Cou.country_id,cou.country_name, Sta.state_id, Sta.state_name, Dis.district_id,
Dis.district_name,Cit.city_id, Cit.city_name,Loc.location_id,Loc.location_name,Sub_Loc.sub_location_id,Sub_Loc.sub_location_name,Prop.property_id,Prop.property_name,Prop.hp_builders_id,
Bud.builders_id,Bud.builders_name
FROM hp_country Cou
INNER JOIN hp_state Sta ON Cou.country_id = Sta.hp_country_id
INNER JOIN hp_district Dis ON Sta.state_id = Dis.hp_state_id
INNER JOIN hp_city Cit ON Dis.district_id = Cit.hp_district_id
INNER JOIN hp_location Loc ON Cit.city_id = Loc.hp_city_id
INNER JOIN hp_sub_location Sub_Loc ON Loc.location_id = Sub_Loc.hp_location_id
INNER JOIN hp_property Prop ON Sub_Loc.sub_location_id=Prop.hp_sub_location_id
LEFT JOIN hp_builders Bud ON Prop.hp_builders_id=Bud.builders_id
where (Cou.country_status=1 AND Sta.state_status=1 AND Cou.country_id=1)
AND (Dis.district_name LIKE '%ky%' OR Cit.city_name LIKE '%ky%' OR Loc.location_name LIKE '%ky%' OR Sub_Loc.sub_location_name LIKE '%ky%' OR Prop.property_name LIKE '%ky%')
我Sequelize代碼無法找到hp_districts.district_status列名。但我得到hp_states.states_status column.so如何才能把這些剩餘的表列在where子句中,以及如何從出主那裏的條件
hp_country.findAll({
attributes: ['country_id', 'country_name'],
where: {
//main AND condition
$and: [
//first joint condition
{
$and: [
{ country_status: 1 },
{ country_id: 1 },
Sequelize.col("hp_states.state_status = 1")
,
Sequelize.col("hp_districts.district_status = 1")
]
}
]
},
include: [
{
model: hp_state,
attributes: ['state_id', 'state_name'],
required:true,
where:{
state_status:1
},
include:[{
model: hp_district,
attributes: ['district_id', 'district_name'],
where:{
district_status:1
},
required:true,
include:[{
model: hp_city,
where:{
city_status:1
}
}]
}]
}
]
})
未來,請不要重複提出同樣的問題;無論是通過新帳戶還是自己的帳戶(http://stackoverflow.com/questions/38976673/using-columns-from-junction-table-in-where-clause-in-sequelize?noredirect=1)。請參閱http://meta.stackexchange.com/questions/7046/getting-attention-for-unanswered-questions。 – Matt