2015-08-18 91 views
1
我有麻烦,而在laravel 5.这会更新数组值

是我的功能,Laravel 5届阵列更新

public function postCartItemAdd() 
{ 
    $id = Request::input('id'); 
    Session::push('items', $id); 

    dd(Session::all()); 
} 

而是推一个新的ID到它只是替换现有值留下一个数组项目。难道我做错了什么?

回答

1

的问题是会话保存为一个闪存数据。所以,只要您推送数据,您就需要保存会话。

$request->session()->push('user.items', 'item1'); 
$request->session()->push('user.items', 'item2'); 
$request->session()->save(); 
0

嗯,我认为你用错了,

看到DOC

它说

Session::push('user.teams', 'developers'); 

user是数组,我们该怎么把一个价值developers到阵列teams关键

所以你需要在你的情况下使用它,

Session::push('items.id', $id); 

OR,如果你需要保持items与像0,1,2,3...默认密钥的阵列把ids,然后items应该是一个数组

所以应该有一个类似的东西,

Session::put('items', []); 

那么你可以使用Session::push('items', $id);

如果您需要将ID推入到您尝试的相同阵列中。

0

或试试这个

$items = Session::pull('items'); 
$items[] = $id; 
Session::push('items', $items);