Size: a a a

Sequelize - community (eng/ru)

2018 November 23

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Zulfiia Salakhutdinova
И снова всем привет) возник такой вопросик) можно ли как то использовать required: true, только на вторую вложенность?
include: [
include: [
 required: true
]
]
да, при обьявлении связи
источник

ZS

Zulfiia Salakhutdinova in Sequelize - community (eng/ru)
почитаю! спасибо большое!)
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
include: [
 {
   association: 'user',
   include: [
     {
        association: 'group',
        required: true,
     }
  ]
 },
]
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Zulfiia Salakhutdinova
почитаю! спасибо большое!)
выше гляньте
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
примерно так
источник

ZS

Zulfiia Salakhutdinova in Sequelize - community (eng/ru)
это да) но вот проблема в том что мне не нужно чтобы это распространялось на основной запрос)
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
обьясните, я не понял.
источник

ZS

Zulfiia Salakhutdinova in Sequelize - community (eng/ru)
в общем у меня есть cause, которое имеет notifications. о прочитанности юзером уведомлений инфу хранит таблица notificaiontUser. Т.к. одно уведомление может быть отправлено разным пользователям. в итоге получается
cause.findAll({
include: {
 as:'assName',
 model: notification,
 include: [
  as:'assName2',
  model: notificationUser,
  where:{userid}
 ]
}
})
мне надо получать все cause, и если нет уведомления пренадлежащего пользователю, мне нужно чтобы assName: []||null, а он возврщает увеодмления не пренадлежащие пользвателю и assName:[], что логично, но required: true обрезает данные, что мне не подходит. воть(
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Zulfiia Salakhutdinova
в общем у меня есть cause, которое имеет notifications. о прочитанности юзером уведомлений инфу хранит таблица notificaiontUser. Т.к. одно уведомление может быть отправлено разным пользователям. в итоге получается
cause.findAll({
include: {
 as:'assName',
 model: notification,
 include: [
  as:'assName2',
  model: notificationUser,
  where:{userid}
 ]
}
})
мне надо получать все cause, и если нет уведомления пренадлежащего пользователю, мне нужно чтобы assName: []||null, а он возврщает увеодмления не пренадлежащие пользвателю и assName:[], что логично, но required: true обрезает данные, что мне не подходит. воть(
required: true это изменения left join на inner join
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
я не пойму как вам надо, вроде ж все так как и надо
источник

ZS

Zulfiia Salakhutdinova in Sequelize - community (eng/ru)
получается мне приходит также уведомление, не принадлежащие моему пользователю
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
cause LEFT JOIN notification JOIN notificationUser?
источник

ZS

Zulfiia Salakhutdinova in Sequelize - community (eng/ru)
наоборот)
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
я понял, все
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
логично, ибо главной в этом запросе сущностью является cause
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
а не пользователь
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
переваричивайте связь
источник

ZS

Zulfiia Salakhutdinova in Sequelize - community (eng/ru)
не спорю) но возможно ли такое обойти?
источник

ZS

Zulfiia Salakhutdinova in Sequelize - community (eng/ru)
взяла на вооружение, если других вариантов не найду
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
это ж обертка над sql, обычная, просто удобней запрос строить. вся логика SQL остается.
источник