Имеем в таблице поле
`names` JSON NULL DEFAULT NULL,
Пытаюсь его обновить
DB::table('towns')
->where('id', $town['id'])
->update([
'names' => "JSON_MERGE_PATCH(`names`, JSON_OBJECT('$timestamp', '$name'))"
]);
Получаю ошибку
SQLSTATE[22032]: <<Unknown error>>: 3140 Invalid JSON text: "Invalid value."
at position 0 in value for column 'towns.names'.
(SQL: update `towns` set `names` = JSON_MERGE_PATCH(`names`, JSON_OBJECT('1599001255', 'Кэрг')) where `id` = 1225)
Но если выполняю этот же запрос в heidisql, то он нормально выполняется
UPDATE `towns`
SET
`names` = JSON_MERGE_PATCH(`names`, JSON_OBJECT('1599001255', 'Кэрг'))
WHERE `id` = 1225
В чём мой косяк? Как можно обновить json поле используя фасад DB (Eloquent и модели здесь не нужны)?