3

我想获取会话 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;
}

谢谢你提前!

4

1 回答 1

4

请确保您的会话已启动,否则Session::getId()返回空字符串('')。参见Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage

$session = $this->get('session');
$session->start();
$carts->setSessionId( $session->getId() );
于 2013-05-25T23:54:55.740 回答