9

I added a new extension attribute extensionattribute1 to

Magento\Catalog\Api\Data\ProductInterface.

<attribute code="extensionattribute1" type="string">
  <join reference_table="training_extensionattributes_values" reference_field="product_id" join_on_field="entity_id">
    <field column="extensionattribute1">extensionattribute1</field>
  </join>
</attribute>

That worked all right and the extension attribute is shining up in the collection gathered over the rest api.

Now I would like to filter the product list returned by

Magento\Catalog\Api\ProductRepositoryInterface

programmatically via the SearchCriteriaBuilder (without passing the params via rest api). In concrete: I want to return it all products where extensionattribute1 is set to the value '20'.

What I tried was to build a filter like that:

   $filter=$this->filterBuilder
        ->setField('extensionattribute1')
        ->setValue('20')
        ->create();

But that did not work (Invalid attribute name Error). Same with

   $filter=$this->filterBuilder
        ->setField('extension_attributes[extensionattribute1]')
        ->setValue('20')
        ->create();

Thanks for giving me a hint on how to reach my goal.

  • Have you tried training_extensionattributes_values.extensionattribute1? – Alex Paliarush May 2 '16 at 15:22
  • Thank you for your idea. This does not work either, I am afraid. I would be very grateful if someone could enlighten me with another idea... – Peter Bättig Nov 21 '16 at 11:42
  • Did you guys get any solutions? – Dharmesh Hariyani Feb 4 at 6:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.