7

Fetching attribute info, if I apply multiple filters in a single search criteria, it does not work. But in case of single filter it works perfectly.

Multiple filters HTTP request:

http://192.168.1.180/magento/index.php/rest/V1/products/attributes?searchCriteria[filter_groups][0][filters][0][field]=attribute_code&searchCriteria[filter_groups][0][filters][0][value]=color&searchCriteria[filter_groups][0][filters][0][condition_type]=eq&searchCriteria[filter_groups][0][filters][1][field]=attribute_code&searchCriteria[filter_groups][0][filters][1][value]=size&searchCriteria[filter_groups][0][filters][1][condition_type]=eq

Output: 
{
  "items": [],
  "search_criteria": {
    "filter_groups": [
      {
        "filters": [
          {
            "field": "attribute_code",
            "value": "size",
            "condition_type": "eq"
          },
          {
            "field": "attribute_code",
            "value": "color",
            "condition_type": "eq"
          }
        ]
      }
    ]
  },
  "total_count": 0
}

But when I hit the single filter one, I get results for both size as well as color.

Single filter:

http://192.168.1.180/magento/index.php/rest/V1/products/attributes?searchCriteria[filter_groups][0][filters][0][field]=attribute_code&searchCriteria[filter_groups][0][filters][0][value]=color&searchCriteria[filter_groups][0][filters][0][condition_type]=eq

UPDATE: Tried the in filter but still no results

{
  "items": [],
  "search_criteria": {
    "filter_groups": [
      {
        "filters": [
          {
            "field": "attribute_code",
            "value": "color,size",
            "condition_type": "in"
          }
        ]
      }
    ]
  },
  "total_count": 0
}

UPDATE 2: Tried "in" in different filters

{
  "items": [],
  "search_criteria": {
    "filter_groups": [
      {
        "filters": [
          {
            "field": "attribute_code",
            "value": "color",
            "condition_type": "in"
          },
          {
            "field": "attribute_code",
            "value": "size",
            "condition_type": "in"
          }
        ]
      }
    ]
  },
  "total_count": 0
}

UPDATE 3: Tried "in" filter in separate filter groups

{
  "items": [],
  "search_criteria": {
    "filter_groups": [
      {
        "filters": [
          {
            "field": "attribute_code",
            "value": "color",
            "condition_type": "in"
          }
        ]
      },
      {
        "filters": [
          {
            "field": "attribute_code",
            "value": "size",
            "condition_type": "in"
          }
        ]
      }
    ]
  },
  "total_count": 0
}
  • What is expected output and what you get? – Alex Paliarush Dec 22 '15 at 11:31
  • updated the question – nr5 Dec 22 '15 at 11:33
  • @AlexPaliarush did you find anything on this ? – nr5 Dec 24 '15 at 9:56
1

Here is the fix for the "in" problem, this will probably be fixed in next release: https://github.com/magento/magento2/commit/65819d2f61a63e4fa9fc978220f8662ee5472791

0

The problem seems to be that the same field is used in 2 filters of the same filter group. In this particular case replace 2 eq filters with one in filter:

searchCriteria[filter_groups][0][filters][0][field]=attribute_code&searchCriteria[filter_groups][0][filters][0][value]=color,size&searchCriteria[filter_groups][0][filters][0][condition_type]=in
  • I tried but still no results '{ "items": [], "search_criteria": { "filter_groups": [ { "filters": [ { "field": "attribute_code", "value": "color,size", "condition_type": "in" } ] } ] }, "total_count": 0 }' – nr5 Dec 23 '15 at 6:03
  • Request seems to be correct. What if specify separately 'in' filter with value 'color' and then value 'size'? – Alex Paliarush Dec 24 '15 at 10:00
  • Edited question with both the API response – nr5 Dec 24 '15 at 11:57
  • I meant searchCriteria[filter_groups][0][filters][0][field]=attribute_code&searchCriteria[filter_groups][0][filters][0][value]=color&searchCriteria[filter_groups][0][filters][0][condition_type]=in – Alex Paliarush Dec 24 '15 at 13:14
  • 1
    Not sure you can track internal tickets, but you can create a ticket here and put as a note that MAGETWO-47450 and MAGETWO-47451 are created internally. – Alex Paliarush Dec 29 '15 at 10:50

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.