0

我想将实体的数据存储在会话中,这样应用程序就不必一直从数据库中获取它。但是我仍然希望能够将它用作一个实体,那么我该如何实现呢?例如,如果我有这个:

$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();

有任何想法吗?

4

1 回答 1

-1

首次登录时加载用户实体并将其序列化保存在会话中。

$session->set('user', serialize($user));

当您需要访问您的用户实体时,只需执行

$userEntity = unserialize($session->get('user'));

如果实体被持久化,请记住在会话中更新它

于 2013-08-22T11:44:10.663 回答