2011-03-27 140 views
0

我要刪除Magento中所有客戶的所有購物車物品(產品已添加到購物車)。如何刪除Magento中所有客戶的所有購物車項目?

我該怎麼做?

詳細: -

想,我總註冊用戶10在我的店。他們可能會將物品(產品)添加到購物車中。我想清除所有10位註冊客戶添加到購物車的所有商品。

+0

您的意思是所有的購物車項目? – 2011-03-27 15:42:25

+0

我想幫助你,但至少有5種不同的方式來解釋這個問題。 – 2011-03-27 16:39:59

+0

我編輯了這個問題。希望現在很清楚。 – 2011-03-27 16:44:56

回答

3

我的第一個猜測會是這樣的,

$items = Mage::getResourceModel('sales/quote_item_collection'); 

foreach ($items as $item) { 
    $item->delete(); 
} 

的購物車項目被存儲爲「報價」的一部分。像這樣循環遍歷它們可能會很慢,在SQL中執行它更快但不安全。

TRUNCATE `sales_flat_quote_item`; 
+0

這個查詢似乎更安全:DELETE FROM'sales_flat_quote' WHERE is_active = 1; – 2014-08-27 10:07:00

+1

'DELETE FROM sales_flat_quote'也會導致級聯刪除,刪除客戶可能已部分填寫的地址,付款和運輸選項。爲了更正確,它應該是'DELETE FROM sales_flat_quote_item INNER JOIN sales_flat_quote ON quote_id = entity_id WHERE is_active = 1' – clockworkgeek 2014-10-06 18:36:55

2

我知道,這與您的問題沒有直接關係,但可能有所幫助。

Inchoo幾天前發表了一篇文章,在購物車頁面上放置了「購物車清空」鏈接。

There’s no 「EMPTY CART」 on Magento’s cart page

+0

我不願意建議SQL答案,因爲它無法調用其他地方可能需要的事件。 Inchoo的方法使用具有這種事件的'removeItem',這就是爲什麼它是更好的方法。 – clockworkgeek 2011-03-28 12:13:18

+0

Inchoo的模塊適用於個人顧客可以清空購物車的顧客。但是,我想一次刪除所有客戶的購物車物品。因此,我想用SQL去。 – 2011-03-29 12:24:13

相關問題