Я использую Doctrine
в проекте Symfony 2.8
.Одна из сущностей использует поле массива:
/**
* @ORM\Column(name="raw_data", type="array", nullable=true)
*/
protected $data;
Из-за ошибки некоторые сущности сохранили строку в этом свойстве вместо массива:
$entity->setData('some string');
// ==> DB value: s:11:"some string";
Сохранение сущностей не вызвалолюбая проблема.Однако при попытке загрузить сущность из БД Doctrine выдает ошибку:
Не удалось преобразовать значение базы данных "s: 11:" some str ... "в массив типа Doctrine
Это имеет смысл, поскольку значение не представляет собой массив.
Конечно, я мог бы манипулировать БД вручную, искать все значения, которые не начинаются с a:....
, и исправлять или заменять их.
Но есть ли способ заставить Doctrine автоматически игнорировать такую ошибку и вместо этого возвращать пустой массив?