2015-08-18 131 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);