amazonHelper = $amazonHelper; } /** * Resolve issue with core magento not allowing extension attributes to be applied as filter * * @param Collection $collection * @param Closure $proceed * @param AttributeInterface|integer|string|array $attribute * @param array|string|null $condition * @param string $joinType * * @return Collection */ public function aroundAddAttributeToFilter( Collection $collection, Closure $proceed, $attribute, $condition = null, $joinType = 'inner' ) { if ($this->amazonHelper->isLwaEnabled() && is_array($attribute)) { $attribute = $this->addAmazonIdFilter($attribute, $collection); if (0 === count($attribute)) { return $collection; } } return $proceed($attribute, $condition, $joinType); } /** * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ private function addAmazonIdFilter(array $attribute, Collection $collection) { foreach ($attribute as $key => $condition) { if ('amazon_id' == $condition['attribute']) { $collection->getSelect()->where('extension_attribute_amazon_id.amazon_id = ?', $condition['eq']); unset($attribute[$key]); } } return $attribute; } }