Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can doctrine2 hydrate a new entity from an array?

Tags:

I think the title asks it all. Very simple, I have an entity:

class User {     private $id;     private $name;     private $username; } 

with all the appropriate setters and getter. I have an array:

array( 'name' => 'joe', 'username' => 'shmoe' ); 

and I want to be able to do something like this:

Some\Unknown\Doctrine\Object::hydrateFromArray($array); 

Obviously creating a function to hydrate it an object would be easy enough, but surely doctrine must have something build in to accomplish this?

like image 772
Fatmuemoo Avatar asked Jun 22 '11 00:06

Fatmuemoo


2 Answers

Figured it out. Given a repository:

//for odm $repo->getDocumentManager()->getHydratorFactory()->hydrate($entity, $array); 

I don't know if the same can be done for ORM, but I'm currently using ODM.

like image 161
Fatmuemoo Avatar answered Sep 16 '22 14:09

Fatmuemoo


You could use the Serializer Component:

$user = $serializer->deserialize($data, 'Namespace\User', 'json'); 

http://symfony.com/doc/current/components/serializer.html#deserializing-an-object

like image 43
HKandulla Avatar answered Sep 16 '22 14:09

HKandulla