Кажется, у меня проблема с передачей массива в мой запрос и, используя условие IN
, я могу успешно получить результаты, когда вручную добавляю каждый поисковый термин в запрос
async function getFixtures() {
let response;
try {
response = await pool.query("SELECT * FROM fixtures WHERE league_name IN ('Chinese Super League', 'Iran Pro League', 'English Premier League')");
} catch (e) {
console.error('Error Occurred', e);
}
return response.rows;
}
Когда я пытаюсь передать массив, но ничего не получаю обратно
async function getFixtures(leaguesArray) {
let response;
try {
response = await pool.query("SELECT * FROM fixtures WHERE league_name IN ($1)", [leaguesArray]);
} catch (e) {
console.error('Error Occurred', e);
}
return response.rows;
}
Когда я выйду из системы leaguesArray
, он вернется
['Chinese Super League', 'Iran Pro League', 'English Premier League']
Итак, когда он передается в запрос, я думаю, что это
[['Chinese Super League', 'Iran Pro League', 'English Premier League']]
Нужно ли преобразовывать этот исходный массив в строку?
Я явно что-то здесь упускаю, но не знаю, что именно
Спасибо