Моя проблема в следующем. Я хотел бы искать внутри слова, но я не могу найти решение, как это сделать. Я пытаюсь сделать что-то вроде этого:
("%" + $2 + "%")
Ошибка обычно синтаксическая ошибка около $ 2 или ошибка определения.
function getFilteredData(req, res, next) {
var dataid = String(req.params.dataid);
const pageSize = req.query.pageSize;
const pageIndex = req.query.pageIndex;
const offset = pageSize * pageIndex;
const limit = pageSize;
const filter = req.query.dataname;
const commonParams = [country, `${filter}%`];
db.any(
'SELECT * FROM data WHERE dataid = $1 AND dataname ILIKE $2 ORDER BY isactive=true desc LIMIT $3 OFFSET $4',
[...commonParams, limit, offset ]
)
.then(function (datas) {
return db.one('SELECT COUNT(*) FROM data WHERE dataid = $1 AND data name ILIKE $2', commonParams).then(countResult => {
res.status(200)
.json({
status: 'success',
datas: data,
totalItemsCount: countResult.count,
message: 'Retrieved filtered Data'
});
})
})
.catch(function (err) {
return next(err);
});
}