Knex,开始于
Knex, start with
我有 adonis 后端(运行 引擎盖下的 knex)根据用户过滤将一些数据发送到前端。
我需要用类似startWith
的js方法来实现其中一个过滤参数,以检查用户提交的文本是否是后端数据名称的开头,而不是出现在中间其中
目前我正在使用
this.where('companies.name', 'like', params.name)
什么也检查中间外观。
理想情况下我想做类似
的事情
this.where('companies.name', 'startWith', params.name)
但是这个语法是无效的。
是否有与此用例类似的东西?在 Knex 文档中找不到似乎可以解决我的问题的内容
为了澄清起见,我在此查询中加入了几个表并进行了一些 where
过滤,因此遵循此语法的解决方案将是最好的,但开放更多解决方案
提前致谢!
这取决于您使用的是哪种数据库,但 SQL 数据库必须支持通配符。
您可以阅读更多信息here。
this.where('companies.name', 'like', `${params.name}%`)
// -------------------------------------------------^
此 %
字符表示“零个或多个字符的替代”。
我有 adonis 后端(运行 引擎盖下的 knex)根据用户过滤将一些数据发送到前端。
我需要用类似startWith
的js方法来实现其中一个过滤参数,以检查用户提交的文本是否是后端数据名称的开头,而不是出现在中间其中
目前我正在使用
this.where('companies.name', 'like', params.name)
什么也检查中间外观。
理想情况下我想做类似
的事情this.where('companies.name', 'startWith', params.name)
但是这个语法是无效的。
是否有与此用例类似的东西?在 Knex 文档中找不到似乎可以解决我的问题的内容
为了澄清起见,我在此查询中加入了几个表并进行了一些 where
过滤,因此遵循此语法的解决方案将是最好的,但开放更多解决方案
提前致谢!
这取决于您使用的是哪种数据库,但 SQL 数据库必须支持通配符。
您可以阅读更多信息here。
this.where('companies.name', 'like', `${params.name}%`)
// -------------------------------------------------^
此 %
字符表示“零个或多个字符的替代”。