Как обновить JSON данные в массиве - PullRequest
0 голосов
/ 10 марта 2020

В моей таблице есть 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();

Но теперь я хочу обновить только значение option_id элемента, имеющего нужный мне вопрос, например:

изменить значение option_id на "20003" of question_id = "10002"

Я пробовал это, но это все еще не работает.

$save_data = DB::table('save_state')
    ->whereJsonContains('save_data', [["option_id" => 20002]])
    ->update(['save_data->option_id' => [20003]]);
...