查询THINKPHP6中以分隔符分隔的字段

106 阅读1分钟

查询THINKPHP6中以分隔符分隔的字段

比如数据库中字段存的是分类ID 1,2,3 如果我们仅仅是查询一个分类下的商品是很简单的 用like之类的就可以查询 但如果我们要同时查询两个分类比如分类1和分类2下的商品该怎么查询呢

这时我们就可以用到正则去匹配

SELECT * FROM table WHERE column REGEXP 'string1|string2'

使用MYSQL可以这样写

THINKPHP6中同样提供了正则的查询方式

比如我们要查询的是 $key = [1,2] 这样一个数组 首先我们转换成竖线分隔的字符串

$key = implode('|', $key)
$where[] = [column, 'REGEXP', $key]

这样就可以做到查询了