Können Sie in Magento 2 ein Produkt-Repository verwenden, um nach Produktattributen zu filtern?
In Magento 2 können Sie ein Suchkriterienobjekt verwenden
\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria,
und ein Repository
\Magento\Catalog\Api\ProductRepositoryInterface $productRepository,
Zum Abrufen einer Liste von Objekten
$searchCriteria->getPageSize(10);
$list = $productRepository->getList($searchCriteria);
Das searchCriteria-Objekt verfügt jedoch offenbar nicht über direkte Filterfunktionen. Die Suchkriterienklasse verfügt über Methoden zum Hinzufügen von so genannten Filtergruppen
#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);
}
Aber es ist nicht klar, was genau eine Filtergruppe ist, dank der untypisierten Arrays von PHP.
Wie kann ich ein Magento 2-Repository verwenden, um Dinge wie zu tun
- Zeige mir alle Produkte mit [dieser spezifischen SKU]
- Zeige mir alle Produkte, die nach [diesem Datum] erstellt wurden
- etc.