【问题标题】:Knex, start with克尼克斯,从
【发布时间】:2020-08-16 18:30:51
【问题描述】:

我有 adonis 后端(在引擎盖下运行 knex)根据用户过滤将一些数据发送到前端。

我需要使用类似startWith js 的方法实现其中一个过滤参数,以检查用户提交的文本是否是后端数据名称的开头,而不是出现在它的中间

目前我正在使用

this.where('companies.name', 'like', params.name)

什么也检查中间的外观。

理想情况下我想做类似的事情

this.where('companies.name', 'startWith', params.name)

但是这个语法是无效的。

是否有类似于此用例的内容?在 Knex 文档中找不到似乎可以解决我的问题的内容

为了澄清,我在这个查询中加入了几个表并做了一些where 过滤,所以遵循这个语法的解决方案将是最好的,但开放更多解决方案

提前致谢!

【问题讨论】:

    标签: javascript knex.js adonis.js


    【解决方案1】:

    这取决于您使用的是哪种数据库,但 SQL 数据库必须支持通配符。

    您可以阅读更多信息here

    this.where('companies.name', 'like', `${params.name}%`)
    // -------------------------------------------------^
    

    这个% 字符的意思是“替代零个或多个字符”。

    【讨论】:

    • 感谢您的回答,以及更多的解释和非常有用的链接!
    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2021-04-23
    • 2020-11-07
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多