我正在使用Cakephp 3.0。我是cookie概念的新手。我已经成功创建了一个cookie,但我想从cookie数组中删除一个值。 这是我的代码: -
enter code here
$cookiedata=
Array
(
[0] => 2
[1] => 1
)
$_GET['id'] = 2;
public function cartitems(){
$cookiedata = $this->Cookie->read('ProductCartdata');
$this->loadModel('Products');
$query = $this->Products->find('all')->where(['id IN' =>$cookiedata]);
$products = $query->hydrate(false)->toArray();
if(isset($_GET['id'])){
if(($key = array_search($_GET['id'], $cookiedata)) !== false) {
unset($cookiedata[$key]);
}
$this->redirect(['controller'=>'test','action' => 'cartitems']);
}
$this->set(compact('products','cookiedata'));
}
我想要那个结果: -
enter code here
Array
(
[0]=>1
)
答案 0 :(得分:1)
您可以阅读文档中的Cookie组件。如果您想完全删除Cookie中的数据,则有一个删除方法:
在你的情况下,循环后写入现有数据可能更有意义:
$this->Cookie->write('ProductCartdata', $cookiedata);