php - Laravel 会话的唯一数据输入
问题描述
为了创建一个购物车,我只想在我的 Laravel 会话中添加一次相同的产品。我已经在我的控制器中尝试过这种情况,但它仍然无法正常工作。有任何想法吗?
控制器
$sessions = Session::get('items.item');
foreach ($sessions as $session) {
if ($request->name == $session['name']) {
return;
} else {
Session::push('items.item', [
'name' => $request->name,
]);
}
}
解决方案
如果它找到的第一个项目没有相同的名称,您的代码将立即添加该项目。在添加新项目之前,您必须检查所有项目。
$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,
]);
}
推荐阅读
- c - 在 C 程序上出现分段错误(核心转储)
- flutter - Flutter:如何将文本的行高属性设置为 ThemeData
- python - 根据值之间的差异将数组拆分为不均匀的块
- mysql - 在旧表上创建 SQL 索引
- python - 如何在本地机器上打开 EC2 服务器中存在的文档?
- python - 如何对列中的字符串数据进行编码,以便我可以应用机器学习技术进行分类,例如 k-means?
- sql - Oracle 表大小
- python - 尝试运行 pygame 时出错:“视频系统未初始化”
- python - 修改一列的值,在原值后面加一个词
- java - 如何在xml属性中调用java方法