ver*_*thS 1 node.js knex.js adonis.js
我有这个查询,必须选择通过描述过滤的所有书籍,忽略大写/小写。
所以我在 adonis.js / node.js 中进行此查询:
const queryBook = Book
.query()
.with('user')
queryBook.where('description', 'like', '%'+bookDescription[0]+'%')
Run Code Online (Sandbox Code Playgroud)
我有这样的记录bookDescription:
“学生西班牙语版 1 版”
但是当我尝试仅使用小写的“es”进行过滤时,knex 不会返回任何记录。
当我输入“Es”时,将带有我输入的描述的书归还,因此,类似 %es% 不起作用。
我进行了一次调试,发现了这一点:
knex:query select * from "books" where "description" like ? limit ? undefined +7ms
knex:bindings [ '%es%', 10 ] undefined +6ms
Run Code Online (Sandbox Code Playgroud)
显然我没有发现任何错误,但我认为必须like以小写形式返回记录。
我忘记了什么?
你可以这样使用
const queryBook = Book
.query()
.with('user')
queryBook.where('description', 'like', `%${bookDescription[0]}%`)
Run Code Online (Sandbox Code Playgroud)
或者
const queryBook = Book
.query()
.with('user')
queryBook.where('description', 'ilike', `%${bookDescription[0]}%`)
Run Code Online (Sandbox Code Playgroud)
更多信息。查看knexjs文档
| 归档时间: |
|
| 查看次数: |
7892 次 |
| 最近记录: |