8

I have created a new table using custom module and stored value to this table, now, i need to get table data in block php file from database in magento 2, How to achieve this?

TableName="email_format" columns="customerid" and "format" now, i need to retrieve customer id and format value from table.

Thanks,

14

1) I Assume you have created Model and Collection file associated with that tables.

2) In a Block PHP file constructor add one argument (Dependency Injection) like below and store it in a class member variable.

 public function __construct(
    Context $context,
    \Namespace\Modulename\Model\ModelNameFactory $modelNameFactory,

    array $data = array()
) {
    $this->_modelFactory = $modelFactory;
    parent::__construct($context, $data);
}

3) Prepare a public method in your block to access collection like below.

public function getCollection(){

    return $this->_modelFactory->create()->getCollection();

}

4) Loop through each of the collection result.

Hope, this will help you.

  • Can we inject \Namespace\Modulename\Model\ResourceModel\ModelName\Collection directly in to constructor? – Mehdi Jul 24 '17 at 20:22
10

You can directly get custom table using objectmanager concept,

    $objectManager =   \Magento\Framework\App\ObjectManager::getInstance();
    $connection = $objectManager->get('Magento\Framework\App\ResourceConnection')->getConnection('\Magento\Framework\App\ResourceConnection::DEFAULT_CONNECTION'); 
    $result1 = $connection->fetchAll("SELECT * FROM email_format");

echo "<pre>";print_r($result1);

Or

This is proper way using block:

public function __construct(
    Context $context,
    \Namespace\Module\Model\ModuleFactory $modelFactory,

    array $data = array()
) {
    $this->_modelFactory = $modelFactory;
    parent::__construct($context, $data);
}

You can get collection by factory methods:

public function getCollection(){

    return $this->_modelFactory->create()->getCollection();

}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.