Magento 2的InstallSchema中创建自动更新时间属性

编写本主题的目的是帮助您使用MYSQL 在Magento 2InstallSchema中创建自动更新时间属性。MYSQL将直接与TIMESTAMP和DATETIME一起使用,允许自动初始化,更新和显示您网站上的当前日期和时间,而不是必须在PHP代码中手动插入正确的日期和时间值,特别是:

  • 自动初始化时间属性意味着自动加载当前时间戳和日期时间。
  • 自动更新时间属性意味着自动更新到当前时间戳和日期时间。

要在Magento 2商店中完美地构建自动更新时间属性,您可以参考以下脚本代码。代码需要添加到InstallSchema文件中。

app/code/Mageplaza/HelloWorld/Setup/InstallSchema.php

这里有两列created_atupdate_at包含在您的表中。将新行设置为数据表时,将在created_at列中执行自动初始化,如果继续更新数据表中的行,则将更改updated_at。

...
->addColumn(
    'created_at',
    \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
    null,
    ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT],
    'Created At'
)->addColumn(
    'updated_at',
    \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
    null,
    ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE],
    'Updated At'
)
->addColumn(
    'created_at',
    \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
    null,
    ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT],
    'Created At'
)->addColumn(
    'updated_at',
    \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
    null,
    ['nullable' => false, 'default' => \Magento\Framework\DB\Ddl\Table::TIMESTAMP_INIT_UPDATE],
    'Updated At'
)
...

最后,您需要php bin/magento setup:upgrade在控制台中运行该命令,之后,将在MYSQL中建立created_atupdated_at字段。

完成所有操作后,这意味着您可以InstallSchema在Magento 2中使用自动更新时间属性。

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论