向现有会话添加密钥和值

Res*_*had 2 php session laravel laravel-4

我尝试在laravel已经存在的会话中添加一个键和一个值,这很好,但关键不是我传递了Session函数

public function selectCar() {

    $reservation['car'] = Input::get('id'); 

    if (Session::has('car')) {
        Session::forget('car');
    }

    if (Input::has('id'))
    {
        Session::push('reserveringen', $reservation['car']);
    }

    $data = Session::all();
    return Redirect::back()->with('success', 'Auto gekozen')->with('sessie', $data);

}
Run Code Online (Sandbox Code Playgroud)

输出是

[reserveringen] => Array
            (
                [pickupdate] => 'date'
                [pickuptime] => 'time'
                [returndate] => 'date'
                [returntime] => 'time'
                [0] => 37
            )
Run Code Online (Sandbox Code Playgroud)

但它显示0而不是'汽车'接下来的事情是,如果会话已经包含汽车我希望旧的删除并被新的替换.有人能给我一个如何实现这个目标的例子吗?

Ant*_*iro 5

您没有传递数组键,所以这是传递它的方法:

if (Input::has('id'))
{
    Session::push('reserveringen', array('car' => $reservation['car']));
}
Run Code Online (Sandbox Code Playgroud)

但它会将一个新阵列推向该阵列,而不是你的"汽车"钥匙.

因此,您可能需要这样做才能正确地放置"汽车"钥匙:

$reserveringen = Session::get('reserveringen');

$reserveringen['car'] = $reservation['car'];

Session::put('reserveringen', $reserveringen);
Run Code Online (Sandbox Code Playgroud)