想在插入数据前自动在Model中添加一个日期,于是打算在Model的beforeSave触发器中实现。
public function beforeSave($insert) { parent::beforeSave($insert); die('beforesave'); }
结果发现beforeSave根本没有执行…
原因是:Model的数据结构缺少日期,所以造成数据校验未通过,数据校验未通过时,并不会执行beforeSave,所以如果要实现自动填充数据,我们需要把这个步骤移至validate之前:
class ErrorMapper extends BbError { public function beforeValidate() { if(parent::beforeValidate()) { $this->inputtime = time(); return true; } return false; } ...