2016-07-08 1 views
0

세션이있는 Laravel의 배열에서 하나의 항목 만 삭제하려면 어떻게해야합니까? Session:pull을 사용하여이 작업을 수행하려고하면 키의 estate.id 및 배열의 ​​모든 항목이 포함 된 전체 세션 객체 만 삭제됩니다. 입력에서받은 ID와 동일한 ID를 가진 객체 만 일치 시키려고합니다.Laravel 세션의 배열에서 항목 삭제

간체 코드

$estateId = Input::get('id', null); 

if ($processType == "add") { 
    Session::push('estate.id', $estateId); 
    } 
else { 
    if (in_array($estateId, $data)) { 
    $value = Session::pull('estate.id', $estateId); 
    } 
} 
+0

인덱스와 동일한 인덱스를 설정하여 삭제할 수 있습니다. –

+0

@Sougata Index는 ID와 같지 않습니다. Array 출력은 Array ([0] => 83968 [1] => 97798)' – Svedr

+0

과 같습니다. Array ([83968] => 83968 [ 97798] => 97798)'푸시 대신. –

답변

0

는 Laravel 세션 서비스는 배열에서 값을 제거하는 방법에 내장 제공하지 않습니다,하지만 당신이 할 수있는 해결 방법은 :

Session::put('key', array_diff(Session::get('key'), ['value']));