В моем URL я хочу иметь возможность искать столбцы «активные» и «фамилия» … с параметрами:
active
name
как это:
localhost:4001/api/v1/users/?active=1&name=Peter
users.js
var sql = "SELECT * from users";
var existingParams = ["active", "name"].filter(field => req.query[field]);
if (existingParams.length !== 0) {
sql += ' WHERE ';
sql += existingParams.map(field => `${field} = ?`).join(" AND ");
}
… предоставляет мне это:
SELECT * from users WHERE active = ? AND name = ? LIMIT 100
Я получаю ошибку, хотя … так как имя столбца в базе данных определено как «last_name» … так что я хочу закончить с sth следующим образом:
SELECT * from users WHERE active = ? AND last_name = ? LIMIT 100
… но сохраните параметр поиска в URL «имя». Как мне нужно изменить мой сценарий?
existingParams.map(field => {
if (field === 'name') {
field = 'last_name'
}
return `${field} = ?`
}).join(" AND ");
Других решений пока нет …