当我尝试对一个查询进行分页时,我收到一个错误。这是我的查询:
async show({ request }){
const { page, pageSize } = request.get();
const filter = request.input('filter')
const questions = await Database
.select('book_unit_question.*')
.select('book_unit.unit')
.select('books.id as book_id')
.from('book_unit_question')
.innerJoin('book_unit', 'book_unit.id', 'book_unit_question.book_unit_id')
.innerJoin('books', 'books.id', 'book_unit.book_id')
.where('books.id', '=', request.params.id)
if(filter){
if (filter.search('unit') !== -1) {
let unit = filter.match(/(?<=unit~contains~').?(?=')/)
questions.where('book_unit.unit', '=', unit[0])
}
}
//Filtros
if (filter) {
if (filter.search("description") !== -1) {
let description = filter.match(/(?<=description~contains~').*?(?=')/)
questions.where('description', 'ilike', '%' + description[0] + '%')
}
}
const question = await questions.paginate(page, pageSize)
return question
}
但是我得到:
{消息:“ questions.paginate不是函数”
我也尝试了questions.forPage(page,pageSize),但出现了同样的错误
删除await在数据库之前。像这样
const questions =Database.from('book_unit_question')
.select('book_unit_question.*')
.select('book_unit.unit')
.select('books.id as book_id')
.innerJoin('book_unit', 'book_unit.id', 'book_unit_question.book_unit_id')
.innerJoin('books', 'books.id', 'book_unit.book_id')
.where('books.id', '=', request.params.id)
if(filter){
if (filter.search('unit') !== -1) {
let unit = filter.match(/(?<=unit~contains~').?(?=')/)
questions.where('book_unit.unit', '=', unit[0])
}
}
//Filtros
if (filter) {
if (filter.search("description") !== -1) {
let description = filter.match(/(?<=description~contains~').*?(?=')/)
questions.where('description', 'ilike', '%' + description[0] + '%')
}
}
const question = await questions.paginate(page, pageSize)
return question