javascript - 克尼克斯,从
问题描述
我有 adonis 后端(在引擎盖下运行 knex)根据用户过滤将一些数据发送到前端。
我需要用类似startWith
js的方法来实现一个过滤参数,以检查用户提交的文本是否是后端数据名称的开头,而不是出现在它的中间
目前我使用
this.where('companies.name', 'like', params.name)
什么也检查中间外观。
理想情况下,我想做类似的事情
this.where('companies.name', 'startWith', params.name)
但是这种语法是无效的。
有没有类似于这个用例的东西?在 Knex 文档中找不到似乎可以解决我的问题的东西
只是为了澄清,我在这个查询中加入了几个表并进行了一些where
过滤,所以遵循这种语法的解决方案将是最好的,但对更多解决方案开放
提前致谢!
解决方案
这取决于您使用的是哪种数据库,但 SQL 数据库必须支持通配符。
你可以在这里阅读更多信息。
this.where('companies.name', 'like', `${params.name}%`)
// -------------------------------------------------^
这个%
字符的意思是“替代零个或多个字符”。
推荐阅读
- r - 错误:无法在 R Shiny Dashboard 中启动 png() 设备
- r - 在 RMarkdown 中循环打印 ggplot2 和 lm 对象
- php - 返回其子类的新实例的方法
- python - 在相同数量的 bin 中绘制相同数量的点并平均 bin 值
- django - Django Haystack中的date_facet没有按日期分面
- html - VBA 到 VBS - iframe 权限被拒绝
- javascript - 我可以对外部脚本加载的 HTML 进行 dom 操作吗?
- c++ - 如何将不同模板参数值但类型相同的值放入此类型的变量中?C++
- c# - 检查数据库中是否已经存在记录
- docker - docker - 在构建期间将参数传递给脚本