Sequelize: findAll() - таблица INNER JOIN B, но возвращает результат JSON в виде нескольких строк таблицы A (дубликатов)MySql

Форум по Mysql
Ответить
Anonymous
 Sequelize: findAll() - таблица INNER JOIN B, но возвращает результат JSON в виде нескольких строк таблицы A (дубликатов)

Сообщение Anonymous »

Я хочу, чтобы secelize возвращал несколько строк таблицы A (дубликаты) на основе совпадений таблицы B в возвращаемом результате JSON с:

Код: Выделить всё

await this._conversation.findAll({
include: [
{
required: true,
model: Message,
as: 'messages',
where: message_query,
},
],
})
Но JSON я получаю:

Код: Выделить всё

[
{ // Conversation [ table A ]
....
"messages": [
{ // message 1 [ table B ]
....
},
{ // message 2 [ table B ]
....
},
{ // message 3 [ table B ]
....
},
]
}
]

Чего я хочу/ожидаю:

Код: Выделить всё

[
{ // Conversation [ table A ]
....
"messages": [
{ // message 1 [ table B ]
....
},
]
},
{ // Conversation [ table A ]
....
"messages": [
{ // message 2 [ table B ]
....
},
]
},
{ // Conversation [ table A ]
....
"messages": [
{ // message 3 [ table B ]
....
},
]
},
]
Если я запущу этот необработанный запрос в phpmyadmin:

Код: Выделить всё

SELECT
*
FROM
`conversations`
INNER JOIN `messages`
ON
`conversations`.`id` = `messages`.`conversation_id`

Я получаю несколько строк таблицы A (дубликаты) на основе совпадений строк таблицы B:
Изображение

Как я могу сделать то же самое в сиквеле для заставить его возвращать JSON, как указано выше. хотел?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ltiple-tab
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»