为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 查询对象的 json 数组包含的位置

Laravel 查询对象的 json 数组包含的位置

PHP
茅侃侃 2023-09-30 15:28:32
我有一个带有 JSON 列的 mysql 表,其中的数据如下所示:"[{\"messageId\":\"0A0000000123ABCD1\",\"status\":\"request\\/0\",\"messagePrice\":\"0.03330000\"},            {\"messageId\":\"0A0000000123ABCD2\",\"status\":\"request\\/0\",\"messagePrice\":\"0.03330000\"}]"如何查询数据库以获取包含特定messageId 的行(messageId 是唯一的)?我试过 :DB::table('my_table') ->whereJsonContains('my_json_column',[['messageId'=>'0A0000000123ABCD1']]);但我没有得到任何结果。编辑: 我可以让它与一个简单的地方一起工作,例如:DB::table('notification_history')    ->where('nexmo_responses','like','%0A0000000123ABCD1%')    ->get();但这并不是一个真正干净的方法。
查看完整描述

1 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

您的数据在插入时看起来像是经过双重编码的。这就是你问题的根源。

如果您确保数据仅编码一次,那么当您想要再次访问它时,它将可以正确读取。


查看完整回答
反对 回复 2023-09-30
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信