Bir ürün fabrikası nesnesi kullanarak, bir ürün oluşturabilir, ürün koleksiyonu alabilir ve bu koleksiyonun ilk öğesini getirebilirim
/* var $productFactory \Magento\Catalog\Model\ProductFactory */
$product = $this->productFactory->create()->getCollection()->getFirstItem();
Ancak, koleksiyonun filtresine bir store_id eklemeye çalışırsam
$product = $this->productFactory
->create()
->getCollection()
->addFieldToFilter('store_id', 1)
->getFirstItem();
Aşağıdaki hatayı alıyorum
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}
Aynı şey store_id'e göre filtrelemek için bir ürün havuzu kullanmaya çalışırsam da olur (depolar başlık altındaki koleksiyonları kullanır).
Bu bir hata mı? Yoksa Magento 2'de mağazalar, web siteleri ve ürünler arasındaki ilişkiler, artık meşru bir sorgu olmayacak şekilde değişti mi? Her ikisi de? Ne? Başka bir şey?