【问题标题】:CakePHP 4 How to assign date field created_at to createdCakePHP 4 如何将日期字段 created_at 分配给 created
【发布时间】:2020-05-10 14:34:54
【问题描述】:

我有一个名为 products 的表。在产品表中,我有 2 个字段 created_atupdate_at。我不想将其更改为createdmodified

在不更改表字段名称的情况下,如何分配 created_at 字段以获取 cakephp 时间助手自动更新日期?

我在下面尝试过的实体

protected $_accessible = [
        'created_at' => $this->created,
        'updated_at' => $this->modified,
];

出现错误。

【问题讨论】:

    标签: cakephp cakephp-4.x


    【解决方案1】:

    阅读手册。 https://book.cakephp.org/4/en/orm/behaviors/timestamp.html#basic-usage

    如果您需要修改具有不同名称的字段,或者想要更新自定义事件的其他时间戳字段,您可以使用一些额外的配置:

    class OrdersTable extends Table
    {
        public function initialize(array $config): void
        {
            $this->addBehavior('Timestamp', [
                'events' => [
                    'Model.beforeSave' => [
                        'created_at' => 'new',
                        'updated_at' => 'always',
                    ],
                    'Orders.completed' => [
                        'completed_at' => 'always'
                    ]
                ]
            ]);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多