Sử dụng một đối tượng nhà máy sản phẩm, tôi có thể tạo một sản phẩm, lấy một bộ sưu tập sản phẩm và lấy mục đầu tiên của bộ sưu tập đó
/* var $productFactory \Magento\Catalog\Model\ProductFactory */
$product = $this->productFactory->create()->getCollection()->getFirstItem();
Tuy nhiên, nếu tôi cố gắng thêm store_id vào bộ lọc của bộ sưu tập
$product = $this->productFactory
->create()
->getCollection()
->addFieldToFilter('store_id', 1)
->getFirstItem();
Tôi nhận được lỗi sau đây
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}
Điều tương tự cũng xảy ra nếu tôi cố gắng sử dụng kho lưu trữ sản phẩm để lọc theo store_id (kho lưu trữ sử dụng các bộ sưu tập dưới mui xe).
Đây có phải là một lỗi? Hoặc các mối quan hệ giữa các cửa hàng, trang web và sản phẩm đã thay đổi trong Magento 2 sao cho đây không còn là truy vấn hợp pháp? Cả hai? Cũng không? Thứ gì khác?