我想获取会话ID以将其存储在数据库中(因为我将购物车存储在我的数据库中)。因此,我希望使用此方法获取会话ID:
$session = $this->get('session');
$carts->setSessionId($session->getId());
但是这个方法返回一个空结果。这真的很奇怪,因为如果我在我的视图中发送此ID,例如:
'session' => $session->getId(),
它有效......真的很奇怪;我的代码中出错了吗?
getSessionId()和setSessionId()函数:
/**
* Set sessionId
*
* @param string $sessionId
* @return Carts
*/
public function setSessionId($sessionId)
{
$this->sessionId = $sessionId;
return $this;
}
/**
* Get sessionId
*
* @return string
*/
public function getSessionId()
{
return $this->sessionId;
}
先谢谢你!
答案 0 :(得分:3)
请确保您的会话已启动否则 Session :: getId()将返回空字符串('')。 见Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage
$session = $this->get('session');
$session->start();
$carts->setSessionId( $session->getId() );