MySQL запрос возвращает два отдельных массива

0

Когда я делаю код ниже, я получаю два отдельных массива с информацией, но я действительно хочу, чтобы получить его в один массив

Код:

order_ids.forEach( id => { var sql_order = ''SELECT * FROM wordpress.wp58_postmeta where post_id=${id} and meta_key='_order_total'''; con.query(sql_order, function(err,result){ if(err)throw err; console.log(result); }); });

Результат:

[ RowDataPacket { meta_id: 65960, post_id: 5445, meta_key: '_order_total', meta_value: '900.00' } ] [ RowDataPacket { meta_id: 66074, post_id: 5449, meta_key: '_order_total', meta_value: '269.10' } ]

  • 0
    Какой результат вы хотите получить?
  • 0
    Я хочу, чтобы два отдельных массива были одним
Показать ещё 1 комментарий
Теги:

1 ответ

0

основываясь на вашем текущем коде, вы выполняете запрос для каждого элемента в order_ids и поэтому вы получаете несколько массивов. Если вы хотите получить один массив со всеми строками, вы должны сделать что-то вроде этого

var sql_order = 'SELECT * FROM wordpress.wp58_postmeta where post_id in (?) and meta_key='_order_total';
con.query(sql_order, [order_ids] , function(err,result){
                    if(err)throw err;
                    console.log(result);
                });
  • 0
    order_ids - это массив с целыми числами, поэтому я использовал цикл foreach, чтобы сделать запрос, потому что я получил x значений в order_ids. Ваше решение принесло мне только первое значение.
  • 0
    вам нужен вложенный массив в качестве второго параметра для query . Я обновил ответ
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню