sequelize的关联
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sequelize的关联相关的知识,希望对你有一定的参考价值。
我是Node js的新手,尝试从两个相关表(省和市)获取记录时遇到问题。
一个城市有很多省(这是我的关系)
我使用此方法进行查询:
async function getProvinces ()
{
return await municipality.findAll ({
include: [{
model: city,
required: true,
attributes: [['name', 'city']]
}],
attributes: ['provinceId', 'name']
})
}
这将返回我:
[{"provinceId": 1, "name": "province 1", "city": {"city": "city 1"}}]
我的问题是以下:
当尝试访问城市对象时,我得到一个未定义
data [0] .city.city
为什么这样?
我需要以这种格式返回响应:
{"provinceId": 1, "name": "province 1", "city": "city 1"}
更新(示例)
const getProvincesMethod= async ()=>
{
const value = await getProvinces()
if(!value) return null
var list = []
value.forEach(item => {
list.push(getProvinceObject(item))
});
return list
}
function getProvinceObject(data)
{
if(!data) return null
console.log(data)
return {
provinceId: data.provinceId,
name: data.name,
city: data.city.city
}
}
async function getProvinces ()
{
return await municipality.findAll ({
include: [{
model: city,
required: true,
attributes: [['name', 'city']]
}],
attributes: ['provinceId', 'name']
})
}
答案
您可以如下访问city
-
以上是关于sequelize的关联的主要内容,如果未能解决你的问题,请参考以下文章