CakePHP 4 Как назначить поле даты created_at для created

У меня есть таблица под названием products. В таблице продуктов у меня есть 2 поля created_at и update_at. Я не хочу менять его на created и modified.

Без имени поля таблицы изменений, как я могу назначить, что поле created_at создано для получения даты автоматического обновления Cakephp Time Helper?

Моя сущность, которую я пробовал ниже

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

Получение ошибки.


person Niloy Rony    schedule 24.01.2020    source источник


Ответы (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'
                ]
            ]
        ]);
    }
}
person floriank    schedule 24.01.2020