New table by UpgradeSchema

Route: code/Vender_name/Module_name/Setup/UpgradeSchema.php

<?phpnamespace Vender_name\Module_name\Setup;use Magento\Framework\Setup\UpgradeSchemaInterface;use Magento\Framework\Setup\ModuleContextInterface;use Magento\Framework\Setup\SchemaSetupInterface;use Magento\Framework\DB\Ddl\Table;class UpgradeSchema implements UpgradeSchemaInterface{    /**     * @param SchemaSetupInterface $setup     * @param ModuleContextInterface $context     */    public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context)    {        $setup->startSetup();        if (version_compare($context->getVersion(), '1.0.1') < 0) {            if ($setup->getConnection()->isTableExists($setup->getTable('supplier_data')) != true) {                $table = $setup->getConnection()                    ->newTable($setup->getTable('supplier_data'))                    ->addColumn(                        'supplier_id' ,                        Table::TYPE_INTEGER ,                        null ,                        [                            'identity' => true ,                            'unsigned' => true ,                            'nullable' => false ,                            'primary' => true                        ] ,                        'Supplier Id'                    )->addColumn(                        'supplier_name' ,                        Table::TYPE_TEXT ,                        255 ,                        ['nullable' => false , 'default' => ''] ,                        'Supplier Name'                    )->addColumn(                        'mobile' ,                        Table::TYPE_TEXT ,                        255 ,                        ['nullable' => false , 'default' => ''] ,                        'Supplier Mobile'                    )->addColumn(                        'address' ,                        Table::TYPE_TEXT ,                        255 ,                        ['nullable' => false , 'default' => ''] ,                        'Supplier Address'                    )->addColumn(                        'city' ,                        Table::TYPE_TEXT ,                        255 ,                        ['nullable' => false , 'default' => ''] ,                        'Supplier City'                    )->addColumn(                        'country' ,                        Table::TYPE_TEXT ,                        255 ,                        ['nullable' => false , 'default' => ''] ,                        'Supplier Country'                    )->addColumn(                        'link' ,                        Table::TYPE_TEXT ,                        255 ,                        ['nullable' => false , 'default' => ''] ,                        'Supplier Link'                    )->addColumn(                        'status' ,                        Table::TYPE_SMALLINT,                        null ,                        ['nullable' => false , 'default' => 0] ,                        'Status'                    )->addColumn(                        'created_at' ,                        Table::TYPE_TIMESTAMP ,                        null ,                        ['nullable' => false , 'default' => ''] ,                        'Created Date'                    )->addColumn(                        'updated_at' ,                        Table::TYPE_TIMESTAMP ,                        null ,                        ['nullable' => false , 'default' => ''] ,                        'Updated Date'                    )                    ->setComment('Supplier Table')                    ->setOption('type', 'InnoDB')                    ->setOption('charset', 'utf8');                $setup->getConnection()->createTable($table);            }        }        $setup->endSetup();    }}

执行 php bin/magento setup:upgrade
注:执行命令前检查module.xml文件中的版本是否更改

Create Model, Resource Model and Collection

1)Create Model

<?phpnamespace Vender_name\Module_name\Model;class Supplier extends \Magento\Framework\Model\AbstractModel{    /**     * Initialize resource model     */    protected function _construct()    {        $this->_init('Vender_name\Module_name\Model\Resource\Supplier');    }}

2)Create Resource Model

<?phpnamespace Vender_name\Module_name\Model\Resource;class Supplier extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb{    /**     * Initialize resource model     */    protected function _construct()    {        $this->_init('supplier_data', 'supplier_id');    }}

3)Create Collection

<?phpnamespace Vender_name\Module_name\Model\Resource\Supplier;class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection{    /**     * Define model & resource model     */    protected function _construct()    {        $this->_init(            'Vender_name\Module_name\Model\Supplier',            'Vender_name\Module_name\Model\Resource\Supplier'        );    }        protected function _beforeLoad()    {        parent::_beforeLoad();        $this->setOrder('supplier_id', 'DESC');        return $this;    }

后续获取 supplier 表中的数据直接通过模型对象获取即可;
示例:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();$supplier = $objectManager->get('Vender_name\Module_name\Model\Supplier')->load($supplierId);$data = $supplier->getData();