时间戳行为不起作用

时间:2015-01-26 23:38:24

标签: php cakephp-3.0

我有一个 start_date 字段,它将保留数据保存(未更新)时的当前时间戳。这样的行为:

$this->addBehavior('Timestamp', [
    'events' => [
        'Model.beforeSave' => [
            'start_date' => 'new'
        ]
    ]
]);

但我认为没有填写当前的时间戳,因为我收到了这个错误:

'start_date' => [
    (int) 0 => 'This field is required'
]

2 个答案:

答案 0 :(得分:0)

您已订阅Model.beforeSave事件,因此时间戳会在保存之前立即生成,即在验证和规则检查后,因此错误。

如果您因任何原因需要验证此字段(通常不需要),请订阅Mode.beforeRules event并使用rules checker验证该字段。

答案 1 :(得分:0)

由于您已确保附加行为提供了start_date,因此请从验证规则中删除该字段。这就是我至少做过的事情。