sequelize.js - 如何通过sequelize中的findAll查询将父模型包含在子模型中
问题描述
我正在尝试将父模型包含在子模型中。但是,我收到错误 500。在下面的示例中,每个Brand
包含多个Jobs
.
模型
Job.belongsTo(models.Brand)
Brand.hasMany(models.Job)
路线
models.Job.findAll({
where: {
job_archived_status: archived_status
},
order: [ ['updatedAt', 'DESC'] ],
include: [{
model: models.Brand,
where: {
id: brand_id
}
}]
}).
then(function(jobs) {
res.status(200).json(jobs);
}, function(error) {
res.status(500).send(error);
});
错误
{
"name": "SequelizeDatabaseError",
"parent": {
"name": "error",
"length": 98,
"severity": "ERROR",
"code": "22P02",
"position": "550",
"file": "numutils.c",
"line": "62",
"routine": "pg_atoi",
"sql": "SELECT \"Job\".\"id\", \"Job\".\"job_id\", \"Job\".\"job_archived_status\", \"Job\".\"createdAt\", \"Job\".\"updatedAt\", \"Job\".\"BrandId\", \"Brand\".\"id\" AS \"Brand.id\", \"Brand\".\"brand_name\" AS \"Brand.brand_name\", \"Brand\".\"brand_logo_url\" AS \"Brand.brand_logo_url\", \"Brand\".\"brand_archived_status\" AS \"Brand.brand_archived_status\", \"Brand\".\"createdAt\" AS \"Brand.createdAt\", \"Brand\".\"updatedAt\" AS \"Brand.updatedAt\", \"Brand\".\"ManufacturerId\" AS \"Brand.ManufacturerId\" FROM \"Jobs\" AS \"Job\" INNER JOIN \"Brands\" AS \"Brand\" ON \"Job\".\"BrandId\" = \"Brand\".\"id\" AND \"Brand\".\"id\" = 'null' WHERE \"Job\".\"job_archived_status\" = 'false' ORDER BY \"Job\".\"updatedAt\" DESC;"
},
"original": {
"name": "error",
"length": 98,
"severity": "ERROR",
"code": "22P02",
"position": "550",
"file": "numutils.c",
"line": "62",
"routine": "pg_atoi",
"sql": "SELECT \"Job\".\"id\", \"Job\".\"job_id\", \"Job\".\"job_archived_status\", \"Job\".\"createdAt\", \"Job\".\"updatedAt\", \"Job\".\"BrandId\", \"Brand\".\"id\" AS \"Brand.id\", \"Brand\".\"brand_name\" AS \"Brand.brand_name\", \"Brand\".\"brand_logo_url\" AS \"Brand.brand_logo_url\", \"Brand\".\"brand_archived_status\" AS \"Brand.brand_archived_status\", \"Brand\".\"createdAt\" AS \"Brand.createdAt\", \"Brand\".\"updatedAt\" AS \"Brand.updatedAt\", \"Brand\".\"ManufacturerId\" AS \"Brand.ManufacturerId\" FROM \"Jobs\" AS \"Job\" INNER JOIN \"Brands\" AS \"Brand\" ON \"Job\".\"BrandId\" = \"Brand\".\"id\" AND \"Brand\".\"id\" = 'null' WHERE \"Job\".\"job_archived_status\" = 'false' ORDER BY \"Job\".\"updatedAt\" DESC;"
},
"sql": "SELECT \"Job\".\"id\", \"Job\".\"job_id\", \"Job\".\"job_archived_status\", \"Job\".\"createdAt\", \"Job\".\"updatedAt\", \"Job\".\"BrandId\", \"Brand\".\"id\" AS \"Brand.id\", \"Brand\".\"brand_name\" AS \"Brand.brand_name\", \"Brand\".\"brand_logo_url\" AS \"Brand.brand_logo_url\", \"Brand\".\"brand_archived_status\" AS \"Brand.brand_archived_status\", \"Brand\".\"createdAt\" AS \"Brand.createdAt\", \"Brand\".\"updatedAt\" AS \"Brand.updatedAt\", \"Brand\".\"ManufacturerId\" AS \"Brand.ManufacturerId\" FROM \"Jobs\" AS \"Job\" INNER JOIN \"Brands\" AS \"Brand\" ON \"Job\".\"BrandId\" = \"Brand\".\"id\" AND \"Brand\".\"id\" = 'null' WHERE \"Job\".\"job_archived_status\" = 'false' ORDER BY \"Job\".\"updatedAt\" DESC;"
}
解决方案
推荐阅读
- android - 多个 AlarmManager 触发不会一次触发
- python - 识别对象和标记不起作用“所有的内置方法......”
- react-native - React-Native UI Kitten Demo 中的字体问题
- ios - 颤动的应用程序没有占用 ipad 屏幕的全宽?
- java - 如何使用cmd添加gson创建一个jar
- c# - C# 8 默认接口实现和继承
- flutter - 防止从外部触摸隐藏 showModalBottomSheet
- c# - 绑定到 UserControl 的属性不起作用
- asp.net-core-2.2 - 在 ASP.NET Core 2.2 中创建子类型实例
- python - OpenCV Python CalcHist:如何在 RGB 值范围内堆叠像素数?