В моих моделях у меня есть User
, который belongsTo({ model: Company, as: 'company' })
(и наоборот Company
hasMany({ model: User, as: 'members' })
)
Я построил запрос следующим образом
const query = {
where: { onboardingState: 'pending' },
include: [
{
model: Company,
where: { suspendedAt: { [Op.eq]: null } }
}
]
}
const users = await User.findAll(query)
Это прекрасно работает, если у пользователя есть связанная компания. Но есть крайний случай (пользователи-администраторы), когда у пользователя нет ассоциированной компании, и в этом случае запрос findAll
возвращает []
Как мне структурировать мой запрос так, чтобы он требовал company.suspendedAt == null
только в том случае, если компания существует, и игнорировал предложение компании where, если компания не существует?