2012-06-22 51 views
1
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被忽略,它设置数组值并且应该使用名称的值来定义会话,但它不会。会话未设置

第二次我打电话时,会话被创建,但没有值,奇怪。

任何想法,为什么我第一次运行会话创建与空数组?

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;} 

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

+0

让我们看看'Session :: put'代码。 –

+0

它从框架 – Gerep

+0

哪个框架?如果我们无法看到代码,则无法回答。 –

回答