首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在laravel 4中更新会话数组-使用新项目进行了更新

如何在laravel 4中更新会话数组-使用新项目进行了更新
EN

Stack Overflow用户
提问于 2016-08-31 03:03:38
回答 1查看 229关注 0票数 1

我使用的是ajax和laravel 4,我上传的文件是数组--它们是多个。但是我不确定如何用新的数组更新会话数组。我试过array_merge,但它被重写了。

我的方法看起来像这样:

代码语言:javascript
复制
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);
  }
}

我应该如何合并现有的会话数组和新创建的会话数组?

更新:我现在的代码是:

代码语言:javascript
复制
 $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);
                }

但是它又被写出来了。当我添加第一个镜像时,它存储在会话中,当我添加另一个镜像时,它与第一个数组合并,但当我添加第三个镜像时,在新创建的会话数组中-它是第一个镜像和最后一个镜像。覆盖第二个图像。

EN

回答 1

Stack Overflow用户

发布于 2016-08-31 03:13:06

试试这个:

代码语言:javascript
复制
if(session()->has($name)) {
    session()->forget($name);
}

session()->put($name, $corporate_docs);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39235225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档