Laravel 会话的唯一数据输入

Unique data input to Laravel session

要创建购物车,我只想将相同的产品添加到我的 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,
    ]);
}