/** * 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); } }
/** * 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); } }
/** * 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); } }