/**
  * 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;
 }
 /**
  * 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);
     $attrOption = \XLite\Core\Database::getRepo('XLite\\Model\\AttributeOption')->findOneByNameAndAttribute($value, $attribute);
     $qb->andWhere('av.attribute_option = :attrOption')->setParameter('attrOption', $attrOption);
     return $qb;
 }