[英]How to update session array in laravel 4 - updated with new items
我正在使用ajax和laravel 4,我上傳的文件是數組 - 它們是多個。 但我不知道如何使用新數組更新會話數組。 我已經嘗試過array_merge,但它已經過時了。
我的方法看起來像這樣:
public function storeFiles() { $name = Input::get('name'); $input = Input::all(); $current_time = time(); $trim_name = trim($name, '[]'); $corporate_docs = array(); foreach ($input[$trim_name] as $corporate) { $file_name = $current_time . '_' . $corporate->getClientOriginalName(); $corporate->move(APPLICATIONS_DIR, $file_name); $corporate_docs[] = $file_name; } $session = Session::get($name); if($session) { $docs = array_push($session, $corporate_docs); Session::put($name, $docs); } else { Session::put($name, $corporate_docs); } }
我應該如何合並新創建的現有會話數組?
更新:我現在的代碼是:
$trim_name = trim($name, '[]'); $corporate_docs = array(); foreach ($input[$trim_name] as $corporate) { if ($corporate) { $file_name = $current_time . '_' . $corporate->getClientOriginalName(); $corporate->move(APPLICATIONS_DIR, $file_name); $corporate_docs[] = $file_name; } } $session = Session::get($name); if (Session::has($name)) { $docs = array_merge($session, $corporate_docs); //dd($docs); Session::forget($name); Session::put($name, $docs); dd(Session::get($name)); } else { Session::put($name, $corporate_docs); }
但它再次成為現實。 當我添加第一個圖像時,它存儲在會話中,當我添加另一個圖像時,它與第一個數組合並但是當我添加第三個圖像時,在新創建的會話數組中 - 它是第一個圖像和最后一個圖像。 第二張圖像被覆蓋。
嘗試這個:
if(session()->has($name)) {
session()->forget($name);
}
session()->put($name, $corporate_docs);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.