Я работаю в CakePHP 3.2работы с временной таблицей в CakePHP 3
У меня есть таблица Carts
для хранения продуктов в корзине, когда пользователь вошел в систему с user_id
.
Я хочу, чтобы addToCart был доступен для пользователя без входа в систему. Но в этом случае я хочу использовать временную таблицу для хранения данных корзины и когда пользователь вошел в систему, переведите все данные из временной таблицы в таблицу carts
и удалите temporary table
.
Как работать с временной таблицей в CakePHP 3? Является ли хорошей практикой использовать временные данные для того же или есть ли лучшая альтернатива этому?
Edit 2
значения для хранения в печенье/временную таблицу
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;
}
}
}
Надеюсь, что я ясно вам.
но проблема в том, как я мог получить связанные данные с cookie. потому что я храню только первичные ключи для cookie. – Gaurav
Я могу попытаться помочь вам, как работают ваши базы данных и какие ассоциации? – Derek
см. Редактирование 2 – Gaurav