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

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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案
User::query->whereRaw("FIND_IN_SET(1, 字段名)")->get()
3年前 评论
讨论数量: 6

mark

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

find_in_set

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

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

3年前 评论

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