/** * Delete single entity * * @param \XLite\Model\AEntity $entity Entity to detach * * @return void */ protected function performDelete(\XLite\Model\AEntity $entity) { parent::performDelete($entity); if (is_subclass_of(get_class($entity), 'XLite\\Model\\AttributeValue\\Multiple')) { \XLite\Core\Database::getEM()->persist($entity); \XLite\Core\Database::getEM()->flush(); $entity->getProduct()->checkVariants(); } }
/** * Define QueryBuilder for findOneByValue() method * * @param \XLite\Model\Product $product Product object * @param \XLite\Model\Attribute $attribute Attribute object * @param mixed $value Value * * @return \Doctrine\ORM\QueryBuilder */ protected function defineFindOneByValueQuery($product, $attribute, $value) { $qb = parent::defineFindOneByValueQuery($product, $attribute, $value); $qb->andWhere('av.value = :value')->setParameter('value', $value); return $qb; }