我有这段代码:
return User.findAll({where: {}, include:[
{model: UserInfo, where: {
gender: genderPreference
}}
]
我想在genderPreference中传递这样的值,以便它为我提供所有值。目前我正在通过“男性”或“女性”,这相应地从数据库中提供了数据;但如果没有任何性别的偏好,那么我不知道该怎么做。我试过null,“”,“”;但它们都不起作用。这有什么解决方案吗?谢谢。
只是不要在null
上使用引号,它会正常工作
return User.findAll({where: {}, include:[
{model: UserInfo, where: {
gender: null
}}
]
我实际上用不同的方法解决了这个问题。配售:
gender: null
实际上搜索数据库中的性别字段是否为空,所以我不得不用不同的方法解决它。我想要数据库中的“所有数据”。所以,这几乎解决了它:
if(req.body.genderPreference == "none"){
conditionalUserInfo = {model: UserInfo, where:{}};
} else {
conditionalUserInfo = {model: UserInfo, where: {gender: req.body.genderPreference}};
}
return User.findAll({where: {}, include:[
conditionalUserInfo
]
GenderPreference参数包含“男性”或“女性”或“无”。