Php 从产品中删除所有类别-法师
我正在尝试删除Magento中产品的所有类别。我知道它们存储在Php 从产品中删除所有类别-法师,php,magento,Php,Magento,我正在尝试删除Magento中产品的所有类别。我知道它们存储在catalog\u category\u product-表中,但我似乎找不到任何方法可以用Mage删除其中的任何记录 见鬼,我连装都装不上 这是我的密码: $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $product_row[ 'sku' ] ); if($product) { $currentCatIds = $produc
catalog\u category\u product
-表中,但我似乎找不到任何方法可以用Mage删除其中的任何记录
见鬼,我连装都装不上
这是我的密码:
$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $product_row[ 'sku' ] );
if($product) {
$currentCatIds = $product->getCategoryIds();
$categoryCollection = Mage::getResourceModel('catalog/category_collection')
->addAttributeToFilter('entity_id', $currentCatIds)
->load();
}
我想我可以做$categoryCollection->delete()代码>在上面的代码之后,但似乎什么都不起作用。虽然在我看来,这个代码看起来很好
编辑:更多信息。我不想删除该产品或链接到该产品的类别。我只想删除将产品链接到类别的链接,例如,将产品从类别中删除
我真的很感激你的帮助 答案更新
为什么要为产品模型调用getCategoryIds()方法
只需使用产品模型中的setCategoryIds(),然后使用save()方法,如下所示:
$product->setCategoryIds(array());
$product->save();
我认为这删除了太多的东西,哈哈。我需要删除类别和产品之间的链接。产品和类别不应删除。很抱歉,我混淆了请求!检查我的更新答案,您不需要任何集合来执行此操作,只需从产品模型调用setCategoryId(),然后调用save()方法;)哇,这将是难以置信的简单:)我会让你知道明天如果它的工作。谢谢你的帮助!非常感谢。工作得很有魅力:)