Question

Qu'est-ce qui remplace le Varien_Data_Collection dans magento 2 ?Je sais que Varien_Object a été remplacé par \Magento\Framework\DataObject.

Était-ce utile?

La solution

replacement for Varien_Data_Collection in magento 2?

Vous pouvez trouver la classe de collecte de données dans Magento 2 par your root\vendor\magento\framework\Data\Collection.php

La classe met en œuvre

\IteratorAggregate, \Countable, ArrayInterface, CollectionDataSourceInterface

J'espère que cela t'aides.

Autres conseils

Le remplacement de Varien_Data_Collection est :

protected $_collectionFactory;
public function __construct(
        \Magento\Framework\Data\CollectionFactory $collectionFactory

    ) {
        $this->_collectionFactory = $collectionFactory;
    }

public function methodName(){
$collection=$this->collectionFactory2->create();
//this line of code should written in `foreach() loop` 
foreach($ArrayData as $RowData){
$varienObject = new \Magento\Framework\DataObject();                    $varienObject->setData($RowData->getData());
$collection->addItem($varienObject);
// end `foreach() loop code`
}
}

Remarque : ce code est testé

Vous pouvez avoir une alternative comme celle-ci :

protected $_collectionFactory;

public function __construct(
        \Magento\Backend\Block\Template\Context $context,
        \Magento\Framework\Data\CollectionFactory $collectionFactory,
        array $data = []
    )
    {
        $this->_collectionFactory = $collectionFactory;

        parent::__construct($context, $data);
    }

            $collection=$this->_collectionFactory->create();

            foreach($result as $row){
                $varienObject = new \Magento\Framework\DataObject(); 
                $varienObject->setData((array)$row);
                $collection->addItem($varienObject);
            }
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top