Ответ 1
Нет удобной функции удаления группы, поэтому добавьте ее в свою коллекцию или просто сделайте ее напрямую.
foreach ($rcc as $ccitem) {
$ccitem->delete();
}
Сейчас я удаляю данные, например
$deleteCCL = Mage::getModel('crossdata/customccitem');
$deleteCCL->load($itemId);
$deleteCCL->delete();
Есть ли способ удалить данные с помощью коллекции, например:
$rcc = Mage::getModel('crossdata/customccitem')->getCollection()->delete();
?
Большое спасибо,
Балан
Нет удобной функции удаления группы, поэтому добавьте ее в свою коллекцию или просто сделайте ее напрямую.
foreach ($rcc as $ccitem) {
$ccitem->delete();
}
Mage_Eav_Model_Entity_Collection_Abstract
(который расширяет Varien_Data_Collection_Db
) предоставляет метод delete()
для коллекций, если у вас есть возможность его продлить.
Однако реализация в основном такая же, как ваша:
/**
* Delete all the entities in the collection
*
* @todo make batch delete directly from collection
*/
public function delete()
{
foreach ($this->getItems() as $k=>$item) {
$this->getEntity()->delete($item);
unset($this->_items[$k]);
}
return $this;
}
Чтобы реализовать функцию удаления в мои коллекции, я бы добавил следующую функцию в свой собственный Collection/Abstract.php.
public function delete()
{
foreach ($this as $object) {
$object->delete();
}
}
Благодаря @leek, я получил свою работу:
foreach( $collection as $item )
if( <<logic>> ) $collection->getEntity()->delete( $item );