Also, the To Be Stored entity must implements Serializable interface, and
its methods: serialize, unserialize.

If you are unfamiliar to it, this is an example:

class Producto implements \Serializable
{
        $id;
        $nombre;
        $descripcion;
        $cantidad;
        $categoria;
 public function serialize()
{
$data = array('id' => $this->id, 'nombre' => $this->nombre,
'descripcion' => $this->descripcion,
'cantidad' => $this->cantidad, 'precio' => $this->precio,
'categoria' => $this->categoria);
 return serialize($data);
}
 public function unserialize($serilized)
{
$data = unserialize($serilized);
$this->id = $data['id'];
$this->nombre = $data['nombre'];
$this->descripcion = $data['descripcion'];
$this->cantidad = $data['cantidad'];
$this->precio = $data['precio'];
$this->categoria = $data['categoria'];
}


#here goes Getters and Setters

}

Regards.
2011/6/10 oscar balladares <liebegr...@gmail.com>

> It is not possible due to doctrine's proxies workflow.
>
> I had a discusion like about 30 responses within this mailing list looking
> for the same answer, without a practical success.
>
> Doctrine's official docs tells  you can't serialize entities (when they are
> proxies).
>
> What I implemented is a backToLife function:
>
> I serialize the owning-side-association Entity/ies in a session var, and
> then (to be able to access its related entities) I seek
> for them again with the entity_manager, something like:
>
> $entities = unserialize($serializedEntities);
>
> foreach($entities as $entity)
> {
>
>   $entity = $entity_manager('Bundle:Entity')->find($entity->getId());
> }
>
> This way, entities will be 'attached' back to its real 'form', cause you
> won't be able to access a related entity from an unserialized entity
> (because, yu have to serialize/unserialize an object to be able to be
> stored/retrieve in a session variable).
>
> If you find a better solution, share!
>
> Regards!
>
> 2011/6/10 Michael Holm <ho...@hollo.dk>
>
>> Hi,
>>
>> I have started to build a search function on my website..
>>
>> My idea was to have a filter form class, give it an object which i
>> then will serialize and then save it in a session.. and it works just
>> perfect if i have no relationships in the object..
>>
>> But when i want to make a relation to an another table, that
>> relationship will not be serialized.. can some one help? Is it
>> possible, or do i have to do it in an another way, here is what i do:
>>
>>  public function filterAction()
>>  {
>>    $filter = new \Club\UserBundle\Entity\User();
>>
>>    $form = $this->createForm(new \Club\UserBundle\Filter\User($filter));
>>    $form->bindRequest($this->get('request'));
>>
>>    if ($form->isValid()) {
>>
>>  $this->get('session')->set('filter.admin_user',serialize($form->getData()));
>>    }
>>
>>    return $this->forward('ClubUserBundle:AdminUser:index');
>>  }
>>
>> Pretty straight forward, and when i want to load the form i simple
>> does unserialize the object and load it with setData()..
>>
>>  public function indexAction()
>>  {
>>    $em = $this->get('doctrine')->getEntityManager();
>>
>>    $filter = unserialize($this->get('session')->get('filter.admin_user'));
>>    $filter = ($filter instanceOf \Club\UserBundle\Entity\User) ?
>> $filter : new \Club\UserBundle\Entity\User();
>>
>>    $filter_form = $this->createForm(new \Club\UserBundle\Filter\User());
>>    $filter_form->setData($filter);
>>
>> Can someone give me a hint, or maybe have a better solution for
>> creating search functionality?
>>
>> Best regards,
>> Michael Holm
>>
>> --
>> If you want to report a vulnerability issue on symfony, please send it to
>> security at symfony-project.com
>>
>> You received this message because you are subscribed to the Google
>> Groups "symfony users" group.
>> To post to this group, send email to symfony-users@googlegroups.com
>> To unsubscribe from this group, send email to
>> symfony-users+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/symfony-users?hl=en
>>
>
>

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en

Reply via email to