首先我们将创建一张表。mageplaza_helloworld_post包含如下几列:
post_id -唯一标识符name -名称url_key -网址post_content -帖子内容tags -帖子的标签status -状态featured_image -图片created_at -创建日期updated_at -更新日期在Magento2中创建模型,有如下几步骤
步骤1:安装脚本步骤2:建立模型步骤3:创建资源模型步骤4:创建资源模型集合步骤5:工厂对象步骤1:安装脚本
首先,我们将为CRUD模型创建数据库表。为此,我们需要创建安装文件:
app/code/Mageplaza/HelloWorld/Setup/InstallSchema.php
安装模块时,该文件仅执行一次。使用该文件创建表:
<?phpnamespace MageplazaHelloWorldSetup;class InstallSchema implements MagentoFrameworkSetupInstallSchemaInterface{public function install(MagentoFrameworkSetupSchemaSetupInterface $setup, MagentoFrameworkSetupModuleContextInterface $context){$installer = $setup;$installer->startSetup();if (!$installer->tableExists('mageplaza_helloworld_post')) {$table = $installer->getConnection()->newTable($installer->getTable('mageplaza_helloworld_post'))->addColumn('post_id',MagentoFrameworkDBDdlTable::TYPE_INTEGER,null,['identity' => true,'nullable' => false,'primary' => true,'unsigned' => true,],'Post ID')->addColumn('name',MagentoFrameworkDBDdlTable::TYPE_TEXT,255,['nullable => false'],'Post Name')->addColumn('url_key',MagentoFrameworkDBDdlTable::TYPE_TEXT,255,[],'Post URL Key')->addColumn('post_content',MagentoFrameworkDBDdlTable::TYPE_TEXT,'64k',[],'Post Post Content')->addColumn('tags',MagentoFrameworkDBDdlTable::TYPE_TEXT,255,[],'Post Tags')->addColumn('status',MagentoFrameworkDBDdlTable::TYPE_INTEGER,1,[],'Post Status')->addColumn('featured_image',MagentoFrameworkDBDdlTable::TYPE_TEXT,255,[],'Post Featured Image')->addColumn('created_at',MagentoFrameworkDBDdlTable::TYPE_TIMESTAMP,null,['nullable' => false, 'default' => MagentoFrameworkDBDdlTable::TIMESTAMP_INIT],'Created At')->addColumn('updated_at',MagentoFrameworkDBDdlTable::TYPE_TIMESTAMP,null,['nullable' => false, 'default' => MagentoFrameworkDBDdlTable::TIMESTAMP_INIT_UPDATE],'Updated At')->setComment('Post Table');$installer->getConnection()->createTable($table);$installer->getConnection()->addIndex($ins