[英]Knex.js .whereILike() on an object
沒有找到關於這是否可能的答案。 我正在傳遞一個帶有過濾器作為鍵/值的 object。
前任。
const filters = {
'id': 12,
'first_name': john
}
function findBy(filter) {
return db('quotes')
.where(filter)
.orderBy('id');
}
我正在嘗試使用 whereILike() 將每個 where 子句設置為不區分大小寫。 有沒有人可以推薦的解決方案?
找到了解決方案:
https://knexjs.org/#Builder-modify
return db('quotes')
.modify(function(queryBuilder) {
if (filter.id) {
queryBuilder.where('id', 'ilike', `%${filter.id}%`);
}
if (filter.first_name) {
queryBuilder.where('first_name', 'ilike', `%${filter.first_name}%`);
}
if (filter.email) {
queryBuilder.where('email', 'ilike', `%${filter.email}%`);
}
if (filter.active) {
queryBuilder.where('is_complete', 'ilike', `%${filter.active}%`);
}
if (filter.is_archived) {
queryBuilder.where('is_archived', 'ilike', `%${filter.is_archived}%`);
}
})
.orderBy('id');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.