php - Laravel 5.1 - 从 session 中的数组中删除项目

标签 php laravel laravel-5 session-variables

我有 Laravel 应用程序,我使用 session 将元素存储在购物篮中。

将商品添加到购物篮的功能

public function addItem($id)
    {
        session()->push('user.basket', $id);
        return back();
    }

从购物篮中删除商品的功能

public function removeItem($id)
    {
        session()->pull('user.basket', $id);
        return back();
    }

当我添加商品时,效果很好,但是当我删除购物篮中的商品时,整个购物篮都会被删除吗?

最佳答案

session()->pull('key','default') 方法删除带有 key 的项目,并返回 default 如果不存在则值。

没有办法直接从数组中删除项目,你需要实现它:

$array = session()->pull('user.basket',[]);
unset($array[$id]);
session()->put('user.basket',$array);

关于php - Laravel 5.1 - 从 session 中的数组中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38766019/

相关文章:

php - session 在 codeigniter 中不起作用

php - 获取当前帖子 ID 的 the_terms 名称

javascript - PHP 登录脚本只能运行一次

php - 用于 mod_php 或 PHP 的 Apache2 API(或其他网络服务器)

php - 在两个表中搜索并检索主表结果: Laravel

php - Laravel失败的登录事件未触发

mysql - SQL 查询获取最常访问的地方 Laravel

php - 使用 Laravel 5,如何确定 Mailgun 电子邮件是否已成功发送?

php - 从 Eloquent 关系中获取字段值

laravel - 将两列显示为一列