arrays - 如何更新数组中的 JSON 数据
问题描述
我的表中有一个 JSON 列,其中包含如下 JSON 数据数组:
save_data
[
{"option_id": 20000, "question_id": 10000},
{"option_id": 20001, "question_id": 10001},
{"option_id": 20002, "question_id": 10002}
]
我可以使用以下方法获取记录:
$save_data = DB::table('save_state')
->whereJsonContains('save_data', [["option_id" => 20002]])
->get();
但现在我想要的是仅更新具有我想要的 question_id 的元素的 option_id 值,例如:
将 option_id 值更改为 question_id = "10002" 的 "20003"
我已经尝试过了,但它仍然无法正常工作。
$save_data = DB::table('save_state')
->whereJsonContains('save_data', [["option_id" => 20002]])
->update(['save_data->option_id' => [20003]]);
解决方案
推荐阅读
- javascript - 运行存储在对象中的函数
- webgl - 将单个纹理的子集渲染到 WebGL 画布上的最快方法是什么?
- time - 如何在时间 x 后改变形状的颜色?
- ios - Xcode 应用程序
- latex - 如何不平衡乳胶中的书目列?
- c - 假设 realloc()ing 到较小的大小总是会成功,这是否安全?
- reactjs - Firebase 数据未保存到我的反应状态
- python - 使用 psutil 的 Python 程序在运行 8 小时后出现 PermissionError 失败:[WinError 5] 访问被拒绝 - 为什么?
- c# - _mm_set1_epi32 对应的 netCore SSE2 是什么
- android-studio - 您可以将 Python 脚本链接到 Android Studio 吗?