【发布时间】:2016-08-16 09:08:26
【问题描述】:
我正在使用 CakePHP 3.2
当用户使用user_id 登录时,我有一个表Carts 可以将产品存储在购物车中。
我也希望用户无需登录即可访问 addToCart。但在这种情况下,我想使用临时表来存储购物车数据,当用户登录时,将所有数据从临时表转移到carts 表并删除temporary table。
如何在 CakePHP 3 中使用临时表?使用相同的临时数据是一种好习惯还是有更好的替代方法?
编辑 2
要存储在 cookie/临时表中的值
product_id
seller_id
seller_product_id
quantity
协会
product_id 是products 表的外键
seller_id 是 sellers 表的外键
seller_product_id 是 seller_products 表的外键
产品表进一步与product_attributes相关联
当前使用carts 表和以下列
+-----------+-------------+----------+---------------------+--------+
| user_id | product_id | seller_id | seller_product_id |quantity |
+-----------+-------------+----------+---------------------+--------+
这就是我正在做的检索相关数据的工作
if (!empty($this->Auth->user('id'))) {
$user_id = $this->Auth->user('id');
$g_cart = $this->Carts->find('all', [
'conditions' => [
'user_id' => $user_id,
],
'contain' => [
'Products', 'SellerProducts', 'Sellers', 'CartAttributes'
]
]);
$g_count = $g_cart->count();
if (!empty($g_cart)) {
// foreach($g_cart as $g_c){debug($g_c);}
foreach($g_cart as $g_c) {
$total_cost += $g_c->quantity * $g_c->seller_product->selling_price;
}
}
}
希望我对你很清楚。
【问题讨论】:
标签: cakephp temp-tables cakephp-3.2