尝试查询以返回汽车和相关照片。这有效:
Vehicle.findAll({
include: [db.photos]
})
我得到如下输出:{
"id": 69,
"make": "Ford",
"model": "Fiesta",
"photos": [
{
"id": 10,
"photoUrl": "29_1.jpg",
"vehicleId": 69
},
{
"id": 11,
"photoUrl": "29_2.jpg",
"vehicleId": 69
}
]
},
但这不会,只返回汽车数据而没有照片:Vehicle.findAll({
where: {
make: { [Op.like]: '%' + make + '%' },
model: { [Op.like]: '%' + model + '%' }
}
},
{
include: [db.photos]
})
我究竟做错了什么?
最佳答案
您没有正确使用 Model.findAll()
。 Model.findAll()
的签名是
public static async findAll(options: object): Promise<Array>
如您所见,它只接受一个参数 options
。
尝试:
Vehicle.findAll({
where: {
make: { [Op.like]: '%' + make + '%' },
model: { [Op.like]: '%' + model + '%' },
},
include: [db.photos],
});
关于node.js - 使用 Where 和 Include 失败的 Sequelize 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65238829/