我想将实体的数据存储在会话中,以便应用程序不必一直从数据库中获取它。但是我仍然希望能够将它作为一个实体使用,那么我该如何实现呢?例如,如果我有这个:
$user = $session->get('user'); // array('id' => 123, 'username' => 'Foo');
如何为用户实体提供水合作用?我正在寻找这样的事情:
$userEntity = $em->createFromArray($user);
// Later on, I should be able to do stuff like this:
$userEntity->modifySomething();
$em->flush();
有什么想法吗?
答案 0 :(得分:-1)
首次登录时加载用户实体,并将其序列化保存在会话中。
$session->set('user', serialize($user));
当您需要访问用户实体时,只需执行
即可$userEntity = unserialize($session->get('user'));
如果实体被持久化,请记住在会话中更新它