Используя объект фабрики продуктов, я могу создать продукт, получить коллекцию продуктов и получить первый элемент этой коллекции.
/* var $productFactory \Magento\Catalog\Model\ProductFactory */
$product = $this->productFactory->create()->getCollection()->getFirstItem();
Однако, если я попытаюсь добавить store_id в фильтр коллекции
$product = $this->productFactory
->create()
->getCollection()
->addFieldToFilter('store_id', 1)
->getFirstItem();
Я получаю следующую ошибку
Invalid attribute name: store_id
#0 /Users/alanstorm/Sites/magento-2-dev-docs.dev/magento2/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php(1434): Magento\Eav\Model\Entity\Collection\AbstractCollection->_addAttributeJoin('store_id', 'inner')
#1 /Users/alanstorm/Sites/magento-2-dev-docs.dev/magento2/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php(359): Magento\Eav\Model\Entity\Collection\AbstractCollection->_getAttributeConditionSql('store_id', 1, 'inner')
#2 /Users/alanstorm/Sites/magento-2-dev-docs.dev/magento2/app/code/Magento/Catalog/Model/Resource/Product/Collection.php(1489): Magento\Eav\Model\Entity\Collection\AbstractCollection->addAttributeToFilter('store_id', 1, 'inner')
#3 /Users/alanstorm/Sites/magento-2-dev-docs.dev/magento2/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php(382): Magento\Catalog\Model\Resource\Product\Collection->addAttributeToFilter('store_id', 1)
...
#63 {main}
То же самое происходит, если я пытаюсь использовать репозиторий продуктов для фильтрации по store_id (репозитории используют коллекции изнутри).
Это ошибка? Или в Magento 2 изменились отношения между магазинами, веб-сайтами и продуктами, так что этот запрос больше не является законным? И то и другое? Ни? Что-то другое?