回答:
1)そのテーブルに関連付けられたモデルとコレクションファイルを作成したと仮定します。
2)ブロックPHPファイルコンストラクターで、以下のように1つの引数(依存性注入)を追加し、クラスメンバー変数に格納します。
public function __construct(
Context $context,
\Namespace\Modulename\Model\ModelNameFactory $modelNameFactory,
array $data = array()
) {
$this->_modelFactory = $modelFactory;
parent::__construct($context, $data);
}
3)ブロックにパブリックメソッドを準備して、以下のようにコレクションにアクセスします。
public function getCollection(){
return $this->_modelFactory->create()->getCollection();
}
4)各収集結果をループします。
これがあなたを助けることを願っています。
objectmanagerの概念を使用してカスタムテーブルを直接取得できます。
$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);
または
これはブロックを使用する適切な方法です:
public function __construct(
Context $context,
\Namespace\Module\Model\ModuleFactory $modelFactory,
array $data = array()
) {
$this->_modelFactory = $modelFactory;
parent::__construct($context, $data);
}
ファクトリメソッドでコレクションを取得できます。
public function getCollection(){
return $this->_modelFactory->create()->getCollection();
}