Closed flycash closed 1 year ago
C("name").Like("abc") 怎么体现是前缀和后缀的,这种用户要如何指定,如果用户要%abc%这种呢,还是说为了性能考虑直接不支持后两种
用户需要自己指定 %。也就是实际上如果用户希望是前缀,它得自己写 Like("abc%")。就是说,我们不会自动帮它把 % 加上去。
所以这里应该是不管 前后缀都是用户自己去指定的例如 C("name").Like("%abc"),C("name").Like("abc%"), C("name").Like("%abc%") 是吗
对的。后续可以考虑辅助方法,不过核心接口就保持简洁,并不引入额外的复杂度
Stone-afk @.***>于2022年11月10日 周四下午8:48写道:
所以这里应该是不管 前后缀都是用户自己去指定的例如 C("name").Like("%abc"),C("name").Like("abc%"), C("name").Like("%abc%") 是吗
— Reply to this email directly, view it on GitHub https://github.com/gotomicro/eorm/issues/103#issuecomment-1310231355, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACLWZ7QJORGU3YNETHDCCP3WHTVKRANCNFSM6AAAAAARZ72DGU . You are receiving this because you authored the thread.Message ID: @.***>
仅限中文
使用场景
在搜索列的时候,我们会考虑检索字符串是否符合某个特征,在这种情况下,我们可以考虑使用 LIKE 查询。 例如:
行业分析
LIKE 查询在很多中间件里面都提供了支持,并且它们还进一步封装了:
可行方案
提供一个 LIKE 调用,接近于 #101 #102 中的设计:
这里 Like 和 NotLike 接收字符串类型。另外就是我们也不对 name 的类型进行校验,例如即便用户使用的是 int 类型,他要用 Like 也是可以的。
其它
你使用的是 eorm 哪个版本?
你设置的的 Go 环境?