简体   繁体   中英

paginate is not a function in adonis / node.js

I'm receiving a error when i try to paginate one query. This is my query:

    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


    }

But i'm getting:

{message: "questions.paginate is not a function"

i also tried questions.forPage(page,pageSize) but i get the same error

remove await before Database . like this

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


The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM