如何查询数据库以查找包含来自多选 (Laravel) 的 json 数据的列中的元素
Posted
技术标签:
【中文标题】如何查询数据库以查找包含来自多选 (Laravel) 的 json 数据的列中的元素【英文标题】:How to query the DB to find an element inside a column that contain a json data from a multi select (Laravel) 【发布时间】:2018-08-08 03:00:42 【问题描述】:这是我的“属性”数据库列数据中的内容:
["last","featured","disabled"]
我尝试在查询中添加类似
->whereRaw('FIND_IN_SET(?,attrib)', ['featured'])
但它不起作用......
更新 我已经解决了:
$featured = Course::where('attrib', 'like', '%featured%')->get();
但我仍在寻找不使用“LIKE”的更好查询。
【问题讨论】:
【参考方案1】:你可以在你的模型中使用 whereIn()
$attrib=["last","featured","disabled"];
->whereIn('attrib',[$attrib])->get();
【讨论】:
这个解决方案对我不起作用。 $featured = Course::whereIn('attrib',['featured'])->get();空结果+以上是关于如何查询数据库以查找包含来自多选 (Laravel) 的 json 数据的列中的元素的主要内容,如果未能解决你的问题,请参考以下文章
如何使用从 laravel 中的数组中获取的各种术语进行 mysql 关联查询