我试图seach在JSON字段与雄辩,但现在的工作,seach与0结果。
这是Ubuntu服务器,运行PostgreSQL,Laravel 5.8和Apache 2。
[{
"value": "1",
"label": "numero"
},{
"value": "2016",
"label": "anio"
},{
"value": "Acer",
"label": "especie"
},{
"value": "2",
"label": "cant_plantar"
}]
PlanificacionInfo::select('datos_complementarios')->WhereJsonContains('datos_complementarios', ["value" => "Escamonda 2019"]);
查询返回空
4条答案
按热度按时间0s7z1bwu1#
PostgreSQL要求对象值位于数组中:
使用原始表达式进行不区分大小写的搜索:
f1tvaqid2#
你有没有试过在
->whereJsonContains
中使用小写的“w”?就像这样:在documentation中,您可能需要执行以下操作:
此外,在您的问题中给出的示例中似乎没有任何与您的查询匹配的json-“Escamonda 2019”是否出现在您的数据中?
sz81bmfz3#
xpcnnkqh4#
你可以先把你的json转换成一个PHP关联数组:
下面是一个过滤和查找匹配项函数“value”=>$searchWord
简单地调用你函数: