У меня некоторые проблемы с хранением PHP сериализации объекта с доктриной, , когда я использую следующий код для хранения:Сохранение сериализованного объекта с доктриной
$item = new \Company\MyBundle\Entity\Frontend\table();
$item->setData(serialize($myPhpObject));
$this->_em->persist($item);
$this->_em->flush();
Тогда в другом случае:
$item = $this->_em->getRepository('MyBundle:frontend\table')->findOneById(...);
echo $item->getData(); // display only a part of the serialized object
I как-то исправить, но я думаю, что есть что-то лучше:
$item->setData(json_encode(serialize($myPhpObject)));
Когда я использую это, вся сериализованная строка сохраняется, и я могу ее неэтериализировать правильно. У вас есть представление о том, что не так?
-edit-
это будет пример настройки из данных столбца:
data:
type: string
length: null
fixed: false
nullable: true
column: data
Просьба предоставить более подробную информацию об объекте, который вы сериализуете, потому что от вашего объекта зависит много решений. И, пожалуйста, есть большое руководство по адресу http://www.php.net/manual/en/function.serialize.php, и в комментариях вы можете найти много случаев. – pomaxa
Пробовали ли вы использовать встроенный тип объекта 'object' Doctrine? – kix
Вы deserialize после getData()? – Javad