- モデルを使用してコレクションを取得する方法:
<?php
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
class ExampleClass
{
protected $productCollectionFactory;
public function __construct(CollectionFactory $productCollectionFactory)
{
$this->productCollectionFactory = $productCollectionFactory;
}
public function getCollection()
{
$collection = $this->productCollectionFactory->create();
return $collection;
}
}
?>
上記の例では、CollectionFactory
を使用して$productCollectionFactory
をインジェクトしています。そして、create()
メソッドを使用してコレクションを取得します。
- オブジェクトマネージャを使用してコレクションを取得する方法:
<?php
use Magento\Framework\App\ObjectManager;
class ExampleClass
{
protected $objectManager;
public function __construct(ObjectManager $objectManager)
{
$this->objectManager = $objectManager;
}
public function getCollection()
{
$collection = $this->objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection');
return $collection;
}
}
?>
上記の例では、ObjectManager
を使用して$objectManager
をインジェクトしています。そして、create()
メソッドを使用してコレクションを取得します。
これらは一部の基本的な方法ですが、他にもさまざまな方法があります。例えば、フィルタリング、ソート、ページングなどの操作をコレクションに適用することもできます。また、カスタムフィールドを持つEAV(Entity-Attribute-Value)エンティティに対してもコレクションを使用することができます。