3
public function action_adicionar_item()
{
    $lista_item_pedido = array();
    $x = 0;
    if(Session::has('lista_item_pedido'))
    {
        foreach(Session::get('lista_item_pedido') as $item)
        {
            $lista_item_pedido[$x] = $item;
            $x++;
        }
    }

    $lista_item_pedido[$x] = Input::all();

    Session::put('lista_item_pedido', $lista_item_pedido);
}

我第一次运行此方法时,没有创建会话,因此忽略了 if 并设置了数组值,并且应该使用 name 一个值定义会话,但它没有。

我第二次调用它时,会话被创建但没有值,这很奇怪。

任何想法为什么在我第一次运行时使用空数组创建会话?

Input::all()正在返回正确的值。

我已经检查了文件storage/sessions/创建的文件并且值设置正确:

s:17:"lista_item_pedido";a:1:{i:0;a:7:{s:2:"id";s:3:"162";s:10:"referencia";s:12:"112233445566";s:9:"descricao";s:6:"Sapato";s:5:"grade";s:14:"Grade 41 ao 46";s:8:"grade_id";s:1:"4";s:5:"valor";s:5:"50.00";s:10:"fornecedor";s:2:"30";}}}s:13:"last_activity";i:1340395110;}

这是我第一次运行该方法时创建的,所以它被创建但我无法访问它,只有当我添加两个值时,在这种情况下,第一个被忽略。

4

1 回答 1

3

尝试改用$_SESSION ...

于 2012-06-25T11:44:07.000 回答