2012-06-22 2 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

Какая конструкция? Невозможно ответить, если мы не видим код. –

ответ