关于产品按分类搜索的,工作中遇到的,算是个坑,在此记录下,以备后用。

产品分类,通常是3级或无限级的,在查询时,要分别按1、2、3…级查询时,搜索时,需要有一字段存储层级关系。这样来方便,搜索某一级,而其下所有都可以展示出来。
类似的,区域筛选也可以按此进行。
如,

`region_category_ids` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属区域分类ID,多个用逗号分开' ,
`region_category_names` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属区域分类名称,多个用逗号分开' ,

使用 FIND_IN_SET() 或 IN() 函数即可实现搜索。不建议使用 LIKE 因为,存在分类为 1,13,23的关系,如果 LIKE ‘%3%’,结果将会是异常的。

相关:

发表评论

电子邮件地址不会被公开。 必填项已用*标注