#sequelize.js
Вопрос:
Я пытаюсь найти 2 вида записей :
- Страницы с типом страницы «общий»
- Все страницы с типом страницы «конкретный» И идентификатором профессии, равным параметру, который я передаю.
Единственный способ, который я нашел, — это выполнить два запроса :
static getPagesForProfession(professionID) {
return Promise.all([
Page.findAll({
where: {
pageType: "generic",
},
}),
Page.findAll({
where: {
pageType: "specific",
},
include: [
{
model: sequelize.models.Profession,
as: "Professions",
where: {
id: professionID,
},
},
],
}),
]);
}
Есть ли способ сделать это в одном запросе ?
Page
связан со Profession
многими — многими отношениями с таблицей соединений.
Комментарии:
1. Какая связь существует между
Page
иProfession
?2. Многие ко многим с таблицей объявлений.
3. Вы можете попытаться переместить условие
id: professionID
вwhere
параметр страницы, например$Professions.id$
: professionID, но я не уверен, что это сработает. В любом случае, такие условия на столе в отношениях M:N не были бы эффективными. Возможно, вам нужно подумать о включении таблицы соединений и добавить туда это условие.