我尝试在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);
}
输出
[reserveringen] => Array
(
[pickupdate] => 'date'
[pickuptime] => 'time'
[returndate] => 'date'
[returntime] => 'time'
[0] => 37
)
但它显示0代替'car'接下来的事情是,如果会话已经包含汽车,我希望旧的删除并被新的替换。有人能给我一个如何实现这个目标的例子吗?
答案 0 :(得分:5)
您没有传递数组键,因此这是传递它的方法:
if (Input::has('id'))
{
Session::push('reserveringen', array('car' => $reservation['car']));
}
但它会将一个新数组推送到该数组,而不是你的'car'键。
因此,您可能需要这样做才能正确放置“汽车”钥匙:
$reserveringen = Session::get('reserveringen');
$reserveringen['car'] = $reservation['car'];
Session::put('reserveringen', $reserveringen);