Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Laravel 6/7/8/9/10 » Проблема с DB::table()->where()->update() для JSON » 17.12.2020 20:05:41

alexy74
Ответов: 0

ДОбрый день. Laravel 7, MySQL 8.
Поле result формата JSON.
Вот такая строчка не обновляет столбец JSON ('result') :
           

 $refer = DB::table('referendums')->where('id' , 1)->update(['result->first->second' => 11]); 

Если

$refer = DB::table('referendums')->where('id' , 1)->update(['result->first' => 11]);

то обновляет.

$refer->fill(['result->->first->second' => 11]);
$referendum->update();

тоже работает.
Т.е. проблема с многомерностью JSON и DB::update()
  В чем может быть причина??? ( в модели Referendum есть запись protected $guarded = [];)
Я мог бы и последним способом, но вне надо обновлять JSON без загрузки модели.

Подвал раздела