예제 #1
0
파일: Product.php 프로젝트: kingsj/core
 /**
  * Delete single entity
  *
  * @param \XLite\Model\AEntity $entity Entity to detach
  *
  * @return void
  */
 protected function performDelete(\XLite\Model\AEntity $entity)
 {
     $carts = (array) \XLite\Core\Database::getRepo('XLite\\Model\\Cart')->findAll();
     $items = array();
     foreach ($carts as $cart) {
         foreach ((array) $cart->getItemsByProductId($entity->getProductId()) as $item) {
             $cart->getItems()->removeElement($item);
             $items[] = $item;
         }
     }
     \XLite\Core\Database::getRepo('XLite\\Model\\OrderItem')->deleteInBatch($items);
     \XLite\Core\Database::getRepo('XLite\\Model\\Cart')->updateInBatch($carts);
     parent::performDelete($entity);
 }