laravel如何mysql逗号分隔数据,如何搜索

我数据库表有一个字段是类型,class_id, 存字符串类型的数据,有可能有多种类型,如 1,2,4 或者 5,2,6,12 等等,
现在我想用where 搜索某一个类型的数据,
where(‘class_id’,), 这条件应该怎么写呢?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案
User::query->whereRaw("FIND_IN_SET(1, 字段名)")->get()
2年前 评论
讨论数量: 6

mark

2年前 评论
donggan (楼主) 2年前

find_in_set

2年前 评论
User::query->whereRaw("FIND_IN_SET(1, 字段名)")->get()
2年前 评论

搜索一个数值用FIND_IN_SET,多个用match。但是这两个都有性能问题,慎用,raw使用web传入的参数需要addslashes过滤否则存在sql注入

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!