从购物车中删除特定项目(会话)-Cakephp 3.8

问题描述 投票:0回答:1

朋友,我在购物车中添加了用于会话的产品列表。enter image description here

将产品插入购物车后,结果如图片所示。我想删除产品。我可以手动将其删除。

$carrinho = $this->request->session();
$carrinho->delete('carrinho.0');
return $this->redirect(['action' => 'index']); 

但是我想动态地执行此操作,用户可以选择要排除的项目。

<?= $this->Html->link(__('Delete'), ['action' => 'delete', $carrinho->index]); ?>

我试图搜索索引并像这样遍历参数,但这是不正确的。我尝试了var_dump($购物车),它也没有显示任何内容。

 public function delete($index = null)
    {
    $carrinho = $this->request->session();
    $carrinho->delete('carrinho.index');
    return $this->redirect(['action' => 'index']);
    }

如何搜索会话数组的索引或键以正确将其删除?我感谢任何评论。

php session cakephp cart
1个回答
0
投票

$carrinho->delete('carrinho.index');将从会话中删除字面上称为carrinho.index的内容。它根本不引用$index变量。您想要的是$carrinho->delete("carrinho.$index");。请注意,引号从单引号更改为双引号,以便进行变量插值(例如,如果$index为3,则解析为carrinho.3;如果只是单引号,则它将查找实际称为carrinho.$index当然不存在。]

© www.soinside.com 2019 - 2024. All rights reserved.