Как получить данные пользовательской таблицы в файле phtml без создания файла модели. Магенто 2


Я создал пользовательскую таблицу в своей базе данных через phpmyadmin, теперь я хочу отобразить запись top1 из этой таблицы на домашней странице, а записи top2, top3 должны отображаться на странице сведений о продукте.

Author: Prince Patel, 2017-05-19

3 answers

Вы можете получить данные своей пользовательской таблицы следующим образом

Метод - 1: С помощью Заводского метода

<?php

protected $_connection;

public function __construct(
    .....
    \Magento\Framework\App\ResourceConnection $resource
    .....
) {
    $this->_connection = $resource->getConnection();
}

public function getTableData()
{
    $myTable = $this->_connection->getTableName('table_name');
    $sql     = $this->_connection->select()->from(
         ["tn" => $myTable]
    ); 
    $result  = $this->_connection->fetchAll($sql);
    return $result;
}

Затем вы можете получить данные своей пользовательской таблицы в файле phtml

$myTableData = $this->getTableData();

print_r($myTableData);

Метод - 2: С помощью ObjectManager

<?php

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
$connection = $resource->getConnection();
$tableName = $resource->getTableName('your_table'); //gives table name

//Select Data from table
$sql = $connection->select()->from(
         ["tn" => $tableName]
    );
$result = $connection->fetchAll($sql);

print_r($result);
 5
Author: Prince Patel, 2019-09-20 12:00:28

В этом случае вам следует создать пользовательскую модель для этой пользовательской таблицы.

Следуйте этому https://www.softprodigy.com/store/article/create-model-and-collection-for-custom-table-in-magento2/{[9] } для справки.

В этом вы должны объявить Модель, Модель ресурсов, Класс коллекции..

 2
Author: Amit Bera, 2017-05-19 06:28:19

Вам необходимо создать блок и шаблон. И создайте макет, чтобы создать связь между block.php и template.php . затем, используя объект $block, вы можете вызвать метод block.

 0
Author: babun, 2017-11-08 07:08:57