dobo-knex
Version:
Knex for Dobo
15 lines (13 loc) • 473 B
JavaScript
async function applyFulltext (schema, data, match) {
const { forOwn, isEmpty } = this.app.lib._
if (!isEmpty(match['*'])) {
forOwn(match, (v, k) => {
if (k !== '*') data.orWhereRaw(`MATCH(${k}) AGAINST ('${match['*']}' IN NATURAL LANGUAGE MODE)`)
})
} else {
forOwn(match, (v, k) => {
if (!isEmpty(v)) data.andWhereRaw(`MATCH(${k}) AGAINST ('${v.join(' ')}' IN NATURAL LANGUAGE MODE)`)
})
}
}
export default applyFulltext