DDC-2163: Export entity data to array and create new entity by this array #2854

Closed
doctrinebot opened this Issue Nov 23, 2012 · 5 comments

2 participants

@doctrinebot

Jira issue originally created by user wiistriker:

Entity serialization is really pain operation for doctrine2 entities, but why we need serialization? If we may just get array of table's row for entity and store this array anywhere!

For example, we have Entity:

id, category_id, title

(where category_id is many to one to Category entity)

If we will able to get just array from entity like
array(
'id' => 1,
'category_id' => 2,
'title' => 'Some title'
)
That's all!

I look at code and find a place where table row converted to object: https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php#L341

This method is protected, so we can't call it directly. Can we change it to public?

Another question how we can get this raw values array from entity. I found method https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/UnitOfWork.php#L2692 but it return data with related entities.

@doctrinebot

Comment created by wiistriker:

i write some weird code: http://stackoverflow.com/questions/13507300/doctrine2-export-entity-to-array/13522452#13522452
please, take a look.

@doctrinebot

Comment created by @ocramius:

[~wiistriker] the namespace Internal is there for a reason. If you want to convert entities to array or the opposite, please use either JMS Serializer, Symfony Serializer or Zend\StdLib\Hydrator with DoctrineModule\StdLib\Hydrator.

Currently, we don't support serialization

@doctrinebot

Comment created by @ocramius:

[~wiistriker] this is not the correct approach to the problem. Serialization/unserialization is a problem related to (probably) Doctrine\Common.

@doctrinebot

Issue was closed with resolution "Won't Fix"

@doctrinebot

Comment created by wiistriker:

Marco Pivetta, thanks for reply. With JMSSerializer or Symfony serializer can i later insert\update object in db? I see in sources, that UnitOfWork get changeset for each entity. How doctrine2 knows which properties of serialized\deserialized entitiy was changed?

@beberlei beberlei was assigned by doctrinebot Dec 6, 2015
@doctrinebot doctrinebot closed this Dec 6, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment