Magento 2:ストアIDで商品コレクションをフィルタリングする方法
製品ファクトリオブジェクトを使用して、製品を作成し、製品コレクションを取得して、そのコレクションの最初のアイテムを取得できます。 /* 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でストア、Webサイト、および製品間の関係が変更され、これが正当なクエリではなくなったのですか?どちらも?どちらでもない?他に何か?