Пытаюсь получить запрос на возврат автомобилей и сопутствующих фотографий. Это работает:
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],
});
Вы передаете 2 объекта
findAll
. поместитеwhere
в тот же объект, что иinclude
.