我想从数据库中获取那些不等于"My Msg"的记录。
我的数据库列中的JSON如下:
`{
"msg": "My Msg",
"resource_id": "Resourse"
}`
我尝试了JSON_EXTRACT和whereJsonContains
但是没有运气,我使用的是Laravel 8与MySQL。
查询如下:
$records = DB::table('atble')->select('res_id',
'msg_string')->where('res_id',
$param)->whereJsonContains('ret_string->msg',
['elem1','elem2'...])->latest()->first();
上述查询没有给我任何结果。
任何帮助将不胜感激。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你必须尝试这个
$records = DB::table('atble')->select('res_id', 'msg_string')->where('res_id', $param)->whereJsonContains('ret_string->msg', ['object_key' => 'object_value'])->latest()->first();还要遵循WhereJsonContains的正确指南
还可以参考此链接获取更多帮助
这是一个示例,它会帮助你。
$array = [0 => 1, 1 => 2, 2 => 3]; // Eloquent PaymentTransaction::whereJsonContains('payload->ProductCode- >id',$array)->get();