Verwenden von searchCriteria beim Suchen von Attributen in Magento 2.0


7

Beim Abrufen von Attributinformationen funktioniert es nicht, wenn ich mehrere Filter in einem einzigen Suchkriterium anwende. Aber im Falle eines einzelnen Filters funktioniert es perfekt.

HTTP-Anforderung mit mehreren Filtern:

http://192.168.1.180/magento/index.php/rest/V1/products/attributes?searchCriteria [Filtergruppen] [0] [Filter] [0] [Feld] = Attributcode & Suchkriterien [Filtergruppen] [0] [Filter] [ 0] [Wert] = Farbe & Suchkriterien [Filtergruppen] [0] [Filter] [0] [Bedingungsart] = Gleichung & Suchkriterien [Filtergruppen] [0] [Filter] [1] [Feld] = Attributcode & Suchkriterien [Filtergruppen] [0] [Filter] [1] [Wert] = Größe & Suchkriterien [Filtergruppen] [0] [Filter] [1] [Bedingungstyp] = Gl

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
}

Wenn ich jedoch den Einzelfilter drücke, erhalte ich Ergebnisse sowohl für die Größe als auch für die Farbe.

Einzelfilter:

http://192.168.1.180/magento/index.php/rest/V1/products/attributes?searchCriteria [Filtergruppen] [0] [Filter] [0] [Feld] = Attributcode & Suchkriterien [Filtergruppen] [0] [Filter] [ 0] [Wert] = Farbe & Suchkriterien [Filtergruppen] [0] [Filter] [0] [Bedingungstyp] = Gl

UPDATE: Versuchte den In-Filter, aber immer noch keine Ergebnisse

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

UPDATE 2: In verschiedenen Filtern "in" versucht

{
  "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: Versuchte "in" Filter in separaten Filtergruppen

{
  "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
}

Was ist die erwartete Leistung und was erhalten Sie?
Alex Paliarush

aktualisiert die Frage
Nr. 5

@AlexPaliarush hast du etwas dazu gefunden?
Nr. 5

Antworten:



0

Das Problem scheint zu sein, dass dasselbe Feld in 2 Filtern derselben Filtergruppe verwendet wird. In diesem speziellen Fall ersetzen Sie 2 eqFilter durch einen inFilter:

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

Ich habe versucht, aber immer noch keine Ergebnisse. ' "condition_type": "in"}]}]}, "total_count": 0} '
nr5

Anfrage scheint richtig zu sein. Was ist, wenn Sie 'in' Filter mit dem Wert 'Farbe' und dann dem Wert 'Größe' separat angeben?
Alex Paliarush

Bearbeitete Frage mit der API-Antwort
Nr. 5

Ich meintesearchCriteria[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

1
Sie sind sich nicht sicher, ob Sie interne Tickets verfolgen können, aber Sie können hier ein Ticket erstellen und als Hinweis angeben, dass MAGETWO-47450 und MAGETWO-47451 intern erstellt wurden.
Alex Paliarush
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.