簡體   English   中英

如何更新laravel 4中的會話數組 - 使用新項更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM