Laravel 5 Laravel 5.4-我能';t使用静态数组在控制器中保存数据。如何处理?

Laravel 5 Laravel 5.4-我能';t使用静态数组在控制器中保存数据。如何处理?,laravel-5,Laravel 5,我想保留每个请求中的一些数据,但我不想使用数据库,因为这些数据只是暂时的,所以…我在控制器中使用静态数组 public static $aId = []; 当请求传入时,我获取数据并将其推送到该数组,就像 public function saveId(Request $request){ $id = $request->id; array_push(MyController::$aId,$id); return var_dump(MyController::$aId);

我想保留每个请求中的一些数据,但我不想使用数据库,因为这些数据只是暂时的,所以…我在控制器中使用静态数组

public static $aId = [];
当请求传入时,我获取数据并将其推送到该数组,就像

public function saveId(Request $request){
   $id = $request->id;
   array_push(MyController::$aId,$id);
   return var_dump(MyController::$aId);
}

但问题是,每个请求都会使该数组成为一个新数组,我总是得到一个只有一个数据的数组。请帮助我。

使用会话在多个请求上保存数据

public function saveId(Request $request){
   $id = $request->id;
   $request->session()->push('aId', $id');
   return print_r($request->session()->get('aId'), true);
}

更多信息:

缓存或会话都适合您。创建一个唯一的密钥,例如

$key=Auth::user()->id'-援助'

Cache::put($key, $id, Carbon::now()->addMinutes(10));

并在请求之间引用。用户id不会更改,
-aId
后缀将允许您保留会话中已有的内容

编辑 好的,所以您希望它在所有用户、会话等中全局可用

// assuming an array has already been set in cache key 'request-ids'...
$id = $request->id;
Cache::forever('request-ids', array_push($id,Cache::get('request-ids')));

我无法使用会话,我需要保存这些ID以便向特定用户发送消息,这些ID是他们的套接字ID,会话无法获取另一个用户的ID。[“43068 aId”]=>string(20)“02ewigciujvqvgnaaai”[“9270 aId”]=>string(20)“E2X_we1pguhvmil2aap”我在看什么?你测试的是两个不同的用户吗?我使用Chrome和FireFox访问我的网站,但不同的explore无法在他们的会话中获得另一个explore id,以下是Chrome all id:[“18942 aId”]=>string(20)“NFTS4VVV3F38EAVTKAAAJ”[“17816 aId”]=>string(20)“HVP3BG95F9PQ61AAK”[“10324 aId”]=>string(20)“aZ4GvDaB8gZV6whWAAAO”以下是FireFox的所有id:[“43068-aId”]=>string(20)“02ewigciujvqvgnaai”[“9270-aId”]=>string(20)“E2X_-wE1PGuhvMiL2AAAP”如何在不使用数据库的情况下获取所有这些id?我不确定我是否遵循了您在这里试图实现的目标。。。这是您试图在所有用户之间共享的数据吗?像某种全局数组?$id=$request->id$arr=Cache::get(“请求id”);if(is_null($arr)){Cache::forever('request_ids',[]);}array_push($arr,$id);返回变量转储($arr);总是返回一个只有一个id的新数组…它不能保存所有id。
// assuming an array has already been set in cache key 'request-ids'...
$id = $request->id;
Cache::forever('request-ids', array_push($id,Cache::get('request-ids')));