Sequelize nested были, когда предмет включения возможно нулевой - PullRequest
0 голосов
/ 01 мая 2018

В моих моделях у меня есть 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, если компания не существует?

...