问题描述
我有一个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}%`)
// -------------------------------------------------^
此%
字符的意思是“替代零个或多个字符”。