Czy w Magento 2 można użyć repozytorium produktów do filtrowania według atrybutów produktu?
W Magento 2 możesz użyć obiektu kryteriów wyszukiwania
\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria,
i repozytorium
\Magento\Catalog\Api\ProductRepositoryInterface $productRepository,
Aby pobrać listę obiektów
$searchCriteria->getPageSize(10);
$list = $productRepository->getList($searchCriteria);
Jednak obiekt searchCriteria nie ma (wydaje się?) Możliwości bezpośredniego filtrowania. Klasa Kryteria wyszukiwania nie ma metody dodając coś o nazwie filterGroups
#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);
}
Ale nie jest jasne, czym dokładnie jest grupa filtrów dzięki nietypowym tablicom PHP.
Jak mogę używać repozytorium Magento 2 do robienia takich rzeczy
- Pokaż wszystkie produkty z [tym konkretnym SKU]
- Pokaż mi wszystkie produkty utworzone po [tej dacie]
- itp.