Как правильно реализовать столбец JSON?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как правильно реализовать столбец JSON?

Сообщение Anonymous »

Поскольку я новичок в столбцах MySQL JSON, я не могу заставить это работать:
class MyEntity {
#[ORM\Column(name: "additional_names", type: Types::JSON, unique: false, nullable: true)]
private ?array $additionalNames;

final public function getAdditionalNames(): ?array
{
return $this->additionalNames;
}

final public function setAdditionalNames(?array $additionalNames): void
{
$this->additionalNames = $additionalNames;
}
}

Итак, при выполнении$this->myRepository->persist($entity);
$this->myRepository->flushEntities();

затем я получаю сообщение об ошибке:

Произошло исключение при выполнении запроса: SQLSTATE[42000]: Syntaxошибка или нарушение прав доступа: 1235 Эта версия MySQL еще не
поддерживает преобразование типа JSON OBJECT в массив

Я использую MySQL 8.0.26.
В базе данных у меня есть следующее ограничение для столбца:
CONSTRAINT `chk_additional_names` CHECK (json_schema_valid(_utf8mb4'{\n "\$schema": "http://json-schema.org/draft-04/schema#",\n "type": "array",\n "items": {\n "type": "string",\n "maxlength": 255\n }\n }',`additional_names`)


Подробнее здесь: https://stackoverflow.com/questions/784 ... -correctly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»