Questions tagged «search-criteria»

2
过滤Magento 2对象存储库
在Magento 2中,您可以使用产品存储库按产品属性进行过滤吗? 在Magento 2中,您可以使用搜索条件对象 \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, 和一个仓库 \Magento\Catalog\Api\ProductRepositoryInterface $productRepository, 提取对象列表 $searchCriteria->getPageSize(10); $list = $productRepository->getList($searchCriteria); 但是,searchCriteria对象没有(似乎?)具有直接过滤功能。搜索条件类确实具有添加名为filterGroups的方法。 #File: lib/internal/Magento/Framework/Api/SearchCriteria.php public function getFilterGroups() { $filterGroups = $this->_get(self::FILTER_GROUPS); return is_array($filterGroups) ? $filterGroups : []; } public function setFilterGroups(array $filterGroups = null) { return $this->setData(self::FILTER_GROUPS, $filterGroups); } 但是尚不清楚究竟是什么过滤组归功于PHP的无类型数组。 我如何使用Magento 2存储库执行类似的操作 向我展示所有带有[此特定SKU]的产品 显示[此日期]之后创建的所有产品 等等

2
Magento 2中允许的条件类型是什么?
在Magento 2中将过滤器添加到搜索条件时,允许的条件类型的列表是什么? 有关Internet使用eq条件类型中搜索条件的所有示例。还有其他吗?您在某处有完整的清单吗? 编辑1:请看下面的代码块。我对condition_type有哪些选择? $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); /** @var \Magento\Catalog\Api\ProductRepositoryInterface $productRepository */ $productRepository = $objectManager->get(\Magento\Catalog\Api\ProductRepositoryInterface::class); /** @var \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder */ $searchCriteriaBuilder = $objectManager->get(\Magento\Framework\Api\SearchCriteriaBuilder::class); /** @var \Magento\Framework\Api\FilterBuilder $filterBuilder */ $filterBuilder = $objectManager->get(\Magento\Framework\Api\FilterBuilder::class); $filterSpecialPrice = $filterBuilder->setField('special_price') ->setValue('0') ->setConditionType('eq') ->create(); $searchCriteria = $searchCriteriaBuilder->addFilter($filterSpecialPrice) ->create(); $productCollection = $productRepository->getList($searchCriteria);

2
Magento 2:产品存储库,过滤器组和“与”
我正在尝试使用产品存储库来获取产品列表。我想基于两个过滤器并结合一个AND条件来获取数据,但是似乎没有任何效果。我不了解过滤器组如何工作?还是应该报告此错误? 具体来说,(为简单起见,这是一个愚蠢的示例)我有一个构造函数,在该构造函数中注入了过滤器构建器,过滤器组构建器和搜索条件构建器 public function __construct( \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder, \Magento\Framework\Api\FilterBuilder $filterBuilder, \Magento\Framework\Api\Search\FilterGroupBuilder $filterGroupBuilder ) { $this->searchCriteriaBuilder = $searchCriteriaBuilder; $this->filterBuilder = $filterBuilder; $this->filterGroupBuilder = $filterGroupBuilder; } 然后,在以后的方法中,我将使用过滤器构建器来构建两个过滤器 $filter1 = $this->filterBuilder->setField('sku') ->setValue('24-MB01') ->setConditionType('eq') ->create(); $filter2 = $this->filterBuilder->setField('sku') ->setValue('WT08-XS-Black') ->setConditionType('eq') ->create(); 然后,我使用过滤器组构建器来构建由这两个过滤器组成的过滤器组 $filter_group = $this->filterGroupBuilder ->addFilter($filter1) ->addFilter($filter2) ->create(); 然后,我使用了搜索条件构建器,在其上设置了过滤器组 $criteria = $this->searchCriteriaBuilder ->setFilterGroups([$filter_group]) ->setPageSize(100) ->create(); …

4
Magento 2 API:按扩展属性过滤订单
我已分配的属性的扩展order items名为warehouse。 我可以在属性“ extension_attributes” 下看到此属性。 我需要根据此属性过滤订单。我找不到有关如何执行此操作的任何文档。 API响应片段示例: [items] => Array( [0] => Array( [extension_attributes] => Array( [warehouse] => MyWarehouse ) ) ) 以下过滤器会产生内部错误: searchCriteria[filter_groups][2][filters][0][field]=warehouse,searchCriteria[filter_groups][2][filters][0][value]=mywarehouse,searchCriteria[filter_groups][2][filters][0][condition_type]=eq 关于如何通过仓库属性过滤订单的任何建议API? -关于此问题的其他要点: 在这种情况下,如果我们关注Fooman博客。那么我们可以通过extension *属性过滤集合吗? 通过此扩展的收集过滤器属性应该运行得很快吗? 如果我们使用自定义db表保存此扩展属性表,那么如何过滤?它是否应该在magento前端和后端工作。 需要修改的地方以及需要添加哪个类的参考博客? 等待良好并就此点描述/简要回答?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.