Size: a a a

Sequelize - community (eng/ru)

2020 April 21

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
🌠
Привет есть такой вот запрос

return await this.audienceService.findAll({
     include: [{
       model: AudienceSubscription,
       attributes: ['id'],
       include: [{
         model: Building,
         attributes: ['id', 'name'],
       }],
     }],
     attributes: ['id', 'name', 'description', 'audience_type'],
   });

возвращается вот в таком виде

[
 {
       "id": 51,
       "name": "ally-center-charlotte-audience",
       "description": null,
       "audience_type": "BUILDING",
       "audienceSubscriptions": [
           {
               "id": 51,
               "Building": {
                   "street_number": "",
                   "route": "",
                   "administrative_area_2": null,
                   "id": 96,
                   "name": "Ally Center Charlotte"
               }
           }
       ]
   },
...
]

Есть ли возможность запихать все билдинги в массив и вернуть в таком виде?

{
       "id": 51,
       "name": "ally-center-charlotte-audience",
       "description": null,
       "audience_type": "BUILDING",
      "buildings": [
         "id": 96,
          "name": "Ally Center Charlotte"
      ]
   },
пройдись map-ом по результату
источник

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
А ещё не надо писать return await, это увеличивает время работы просто так
источник

🌠

🌠 in Sequelize - community (eng/ru)
Grigorii K. Shartsev
А ещё не надо писать return await, это увеличивает время работы просто так
возьму на заметку
источник
2020 April 22

7

7384114837 in Sequelize - community (eng/ru)
Ребят, как сделать сортировку  результата запроса в обратном порядке?
источник

VL

Vladimir Lastovka in Sequelize - community (eng/ru)
источник

7

7384114837 in Sequelize - community (eng/ru)
спс
источник

🌠

🌠 in Sequelize - community (eng/ru)
есть ли шанс что findAll у модели может вернуть не массив?
источник

IA

Ilya Artamonov in Sequelize - community (eng/ru)
Ребят, такой вопрос, как создать такую ассоциацию: есть коммент, у коммента могу быть  под комментарии, структура у них одна
источник

IA

Ilya Artamonov in Sequelize - community (eng/ru)
То есть получается , что коммент имеет .hasMany(comment)
источник

IA

Ilya Artamonov in Sequelize - community (eng/ru)
и .belongsTo(comment, {foreignKey: "parentId",})
источник

IA

Ilya Artamonov in Sequelize - community (eng/ru)
🌠
есть ли шанс что findAll у модели может вернуть не массив?
источник

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
Ilya Artamonov
и .belongsTo(comment, {foreignKey: "parentId",})
Просто добавь as параметр в обе связи
источник

IA

Ilya Artamonov in Sequelize - community (eng/ru)
Grigorii K. Shartsev
Просто добавь as параметр в обе связи
Видимо я не так понял, ругается на уникальность
источник

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
Ilya Artamonov
Видимо я не так понял, ругается на уникальность
у тебя и столбец parentId, и имя связи parentId. Не надо так)
Должны быть разные
источник

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
testi.hasMany(testin, {
 as: 'childTesti',
 foreignKey: 'parentId',
});

testi.belongsTo(testin, {
 as: 'parentTesti',
 foreignKey: 'parentId',
});


Типа такого
источник

IA

Ilya Artamonov in Sequelize - community (eng/ru)
Grigorii K. Shartsev
testi.hasMany(testin, {
 as: 'childTesti',
 foreignKey: 'parentId',
});

testi.belongsTo(testin, {
 as: 'parentTesti',
 foreignKey: 'parentId',
});


Типа такого
Ага, спасибо
источник
2020 April 23

🌠

🌠 in Sequelize - community (eng/ru)
С чем может быть связана проблема при инклюде модели в запрос

include: [{
       model: AudienceSubscription,
       attributes: ['id'],
       include: [{
         model: Building,
         required: true,
       }],
     }],

если я добавляю required: true то падает ошибка "Unknown column 'audienceSubscriptions.building_id' in 'on clause'"
если же без то все нормально находит
источник

🌠

🌠 in Sequelize - community (eng/ru)
у audienceSubscriptions building_id это фк на билдинг
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
🌠
С чем может быть связана проблема при инклюде модели в запрос

include: [{
       model: AudienceSubscription,
       attributes: ['id'],
       include: [{
         model: Building,
         required: true,
       }],
     }],

если я добавляю required: true то падает ошибка "Unknown column 'audienceSubscriptions.building_id' in 'on clause'"
если же без то все нормально находит
источник

🌠

🌠 in Sequelize - community (eng/ru)
оказалось ошибка была если в where я передаю пустой объект и в инклюде добавляю required: true

а если в where  добавить null то так уже нет ошибки

include: [{
       model: AudienceSubscription,
       where: !request.user.admin ? {
         building_id: buildingIds,
       } : null,
       include: [{
         model: Building,
         required: true,
       }],
     }],
источник