/**
  * Adds a specified filter group to the specified quote collection.
  *
  * @param FilterGroup $filterGroup The filter group.
  * @param QuoteCollection $collection The quote collection.
  * @return void
  * @throws InputException The specified filter group or quote collection does not exist.
  */
 protected function addFilterGroupToCollection(FilterGroup $filterGroup, QuoteCollection $collection)
 {
     $fields = [];
     $conditions = [];
     foreach ($filterGroup->getFilters() as $filter) {
         $fields[] = $filter->getField();
         $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq';
         $conditions[] = [$condition => $filter->getValue()];
     }
     if ($fields) {
         $collection->addFieldToFilter($fields, $conditions);
     }
 }
 /**
  * Helper function that adds a FilterGroup to the collection.
  *
  * @param \Magento\Framework\Api\Search\FilterGroup $filterGroup
  * @param Collection $collection
  * @return void
  */
 protected function addFilterGroupToCollection(\Magento\Framework\Api\Search\FilterGroup $filterGroup, Collection $collection)
 {
     $fields = [];
     foreach ($filterGroup->getFilters() as $filter) {
         $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq';
         $fields[] = ['attribute' => $filter->getField(), $condition => $filter->getValue()];
     }
     if ($fields) {
         $collection->addFieldToFilter($fields);
     }
 }
Exemple #3
0
 /**
  * Helper function that adds a FilterGroup to the collection.
  *
  * @param \Magento\Framework\Api\Search\FilterGroup $filterGroup
  * @param \ISM\Blog\Model\ResourceModel\Post\Collection $collection
  * @return void
  * @throws \Magento\Framework\Exception\InputException
  */
 protected function addFilterGroupToCollection(\Magento\Framework\Api\Search\FilterGroup $filterGroup, \ISM\Blog\Model\ResourceModel\Post\Collection $collection)
 {
     $fields = [];
     $conditions = [];
     foreach ($filterGroup->getFilters() as $filter) {
         $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq';
         $fields[] = $filter->getField();
         $conditions[] = array($condition => $filter->getValue());
     }
     if ($fields) {
         $collection->addFieldToFilter($fields, $conditions);
     }
 }
    /**
     * Helper function that adds a FilterGroup to the collection.
     *
     * @param \Magento\Framework\Api\Search\FilterGroup $filterGroup
     * @param Collection $collection
     * @return void
     */
    protected function addFilterGroupToCollection(
        \Magento\Framework\Api\Search\FilterGroup $filterGroup,
        Collection $collection
    ) {
        $fields = [];
        $categoryFilter = [];
        foreach ($filterGroup->getFilters() as $filter) {
            $conditionType = $filter->getConditionType() ? $filter->getConditionType() : 'eq';

            if ($filter->getField() == 'category_id') {
                $categoryFilter[$conditionType][] = $filter->getValue();
                continue;
            }
            $fields[] = ['attribute' => $filter->getField(), $conditionType => $filter->getValue()];
        }

        if ($categoryFilter) {
            $collection->addCategoriesFilter($categoryFilter);
        }

        if ($fields) {
            $collection->addFieldToFilter($fields);
        }
    }
 /**
  * Helper function that adds a FilterGroup to the collection.
  *
  * @param FilterGroup $filterGroup
  * @param Collection $collection
  * @return void
  * @throws \Magento\Framework\Exception\InputException
  */
 protected function addFilterGroupToCollection(FilterGroup $filterGroup, Collection $collection)
 {
     foreach ($filterGroup->getFilters() as $filter) {
         $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq';
         $collection->addFieldToFilter($filter->getField(), [$condition => $filter->getValue()]);
     }
 }
 /**
  * Helper function that adds a FilterGroup to the collection.
  *
  * @param \Magento\Framework\Api\Search\FilterGroup $filterGroup
  * @param \Magento\Eav\Model\Resource\Entity\Attribute\Collection $collection
  * @return void
  * @throws \Magento\Framework\Exception\InputException
  */
 private function addFilterGroupToCollection(\Magento\Framework\Api\Search\FilterGroup $filterGroup, Collection $collection)
 {
     /** @var \Magento\Framework\Api\Search\FilterGroup $filter */
     foreach ($filterGroup->getFilters() as $filter) {
         $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq';
         $collection->addFieldToFilter($filter->getField(), [$condition => $filter->getValue()]);
     }
 }
 /**
  * Helper function that adds a FilterGroup to the collection.
  *
  * @param \Magento\Framework\Api\Search\FilterGroup $filterGroup
  * @param \Magento\Eav\Model\ResourceModel\Entity\Attribute\Collection $collection
  * @return void
  * @throws \Magento\Framework\Exception\InputException
  */
 private function addFilterGroupToCollection(\Magento\Framework\Api\Search\FilterGroup $filterGroup, Collection $collection)
 {
     foreach ($filterGroup->getFilters() as $filter) {
         $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq';
         $field = $filter->getField();
         // Prevent ambiguity during filtration
         if ($field == \Magento\Eav\Api\Data\AttributeInterface::ATTRIBUTE_ID) {
             $field = 'main_table.' . $field;
         }
         $collection->addFieldToFilter($field, [$condition => $filter->getValue()]);
     }
 }
 /**
  * Helper function that adds a FilterGroup to the collection.
  *
  * @param \Magento\Framework\Api\Search\FilterGroup $filterGroup
  * @param \Magento\Sales\Api\Data\OrderSearchResultInterface $searchResult
  * @return void
  * @throws \Magento\Framework\Exception\InputException
  */
 protected function addFilterGroupToCollection(\Magento\Framework\Api\Search\FilterGroup $filterGroup, \Magento\Sales\Api\Data\OrderSearchResultInterface $searchResult)
 {
     $fields = [];
     $conditions = [];
     foreach ($filterGroup->getFilters() as $filter) {
         $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq';
         $conditions[] = [$condition => $filter->getValue()];
         $fields[] = $filter->getField();
     }
     if ($fields) {
         $searchResult->addFieldToFilter($fields, $conditions);
     }
 }
Exemple #9
0
 /**
  * Helper function that adds a FilterGroup to the collection.
  *
  * @param FilterGroup $filterGroup
  * @param Collection $collection
  * @return void
  * @throws \Magento\Framework\Exception\InputException
  */
 protected function addFilterGroupToCollection(FilterGroup $filterGroup, Collection $collection)
 {
     $fields = [];
     $conditions = [];
     foreach ($filterGroup->getFilters() as $filter) {
         $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq';
         $field = $this->translateField($filter->getField());
         $fields[] = $field;
         $conditions[] = [$condition => $filter->getValue()];
         switch ($field) {
             case 'rate.tax_calculation_rate_id':
                 $collection->joinCalculationData('rate');
                 break;
             case 'ctc.customer_tax_class_id':
                 $collection->joinCalculationData('ctc');
                 break;
             case 'ptc.product_tax_class_id':
                 $collection->joinCalculationData('ptc');
                 break;
         }
     }
     if ($fields) {
         $collection->addFieldToFilter($fields, $conditions);
     }
 }