0
일부 데이터를 L5 세션 배열로 푸시, 삭제 또는 업데이트하려고합니다.Laravel 5 세션 풋/푸시/풀 배열
내 코드 : ID 세션 및 유형이 다른에있는 경우
$id = $request->input('id');
$type = $request->input('type');
$removeEvent = $request->input('removeEvent');
if($request->session()->has('event')){
$events = $request->session()->get('event');
$request->session()->forget('event'); //forget and create new session
for($i=0; $i<count($events['id']); $i++){
if($events['id'][$i] == $id&& $events['type'][$i] == $type && $removeEvent == 'true'){ //delete
}elseif($events['id'][$i] == $id&& $events['type'][$i] != $type){ //update
$request->session()->push('event.id', $events['id'][$i]);
$request->session()->push('event.type', $type);
}else{
$request->session()->push('event.id', $id);
$request->session()->push('event.type', $type);
}
}
}else{
$request->session()->push('event.id', $id);
$request->session()->push('event.type', $type);
}**
$request->session()->save();
것은 내가 ID와 유형을 게시 할 예정입니다 때, 나는 그것을 업데이트 할 또는 removeEvent 다음 삭제 사실이다, 그것은 세션에없는 경우 그것을 밀어. 따라서, 전체 배열을 검색해야합니까? 아니면 이러한 조치를 취할 수있는 빠른 방법이 있습니까?
업데이트 : 나는이 전체 코드를 빠르게 만들었습니다.
$check = $request->session()->has('event.'.$id);
if ($check == 1 && $removeEvent == "true") {
$request->session()->forget('event.'.$id);
} elseif ($check == 1){
$request->session()->put('event.'.$id, $type);
} else {
$request->session()->put('event',
array_add($event= $request->session()->get('event'), $id, $type));
}
모든 이벤트 배열과 각 이벤트마다 1 세션을 유지 하시겠습니까? – Erevald