无法使用Adonis和PostgreSQL读取属性toLowerCase的未定义

时间:2018-07-16 12:46:30

标签: node.js postgresql adonis.js

我在PostgreSQL上使用了Adonis,并且尝试实现一种搜索,用户可以使用title

来搜索帖子

我的代码结构如下

<form action="{{ route('search') }}" method="GET" style="outline:none">
  <input class="shadow appearance-none border-2 p-2 h-10" style="outline:none" type="text" name="q" placeholder="Search the forum" value="{{ request.input('q', '') }}">
</form>

和我的控制器一样

'use strict'

const Post = use('App/Models/Post')
const Database = use('Database')

class SearchController {
  async index ({ view, request, response, params }) {
    let posts = await Post.query()
      .forIndex()
      .whereRaw('lower(title) LIKE ?', params.searchString.toLowerCase())
      .paginate(request.input('page', 1), 10)

    return view.render('index', {
      posts
    })
  }
}

module.exports = SearchController

但是,出现以下错误:

error

1 个答案:

答案 0 :(得分:0)

name='q'的形式而不是name='searchString'

请参见https://adonisjs.com/docs/4.1/request#_methods以获取阿多尼斯的查询字符串参数