No he encontrado una respuesta sobre si esto es posible. Estoy pasando un objeto con filtros como claves/valores.
ex.
const filters = { 'id': 12, 'first_name': john } function findBy(filter) { return db('quotes') .where(filter) .orderBy('id'); }Estoy tratando de configurar cada cláusula where para que no distinga entre mayúsculas y minúsculas con whereILike(). ¿Alguien tiene una solución que pueda recomendar?
Encontré la solución para esto:
https://knexjs.org/#Builder-modificar
return db('quotes') .modify(function(queryBuilder) { if (filter.id) { queryBuilder.where('id', 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', filter.active); } if (filter.is_archived) { queryBuilder.where('is_archived', filter.is_archived); } }) .orderBy('id');