要创建购物车,我只想将同一产品添加一次到Laravel会话中。我已经在控制器中尝试了这种情况,但是仍然无法正常工作。有任何想法吗?
控制器
$sessions = Session::get('items.item');
foreach ($sessions as $session) {
if ($request->name == $session['name']) {
return;
} else {
Session::push('items.item', [
'name' => $request->name,
]);
}
}
答案 0 :(得分:3)
如果找到的第一个项目名称不相同,您的代码将立即添加该项目。您必须先检查所有项目,然后再添加新项目。
$sessions = Session::get('items.item');
$inItems = false;
foreach ($sessions as $session)
if ($request->name == $session['name']) {
$inItems = true;
break;
}
}
if (!$inItems) {
Session::push('items.item',[
'name' => $request->name,
]);
}