我有一个activerecord模型,我有下一个规则:
['birthdate','date','format'=>'php:Y-m-d'],
以及包含下一个代码的组件:
class UserTime extends Component{
public function update() {
if(!\Yii::$app->user->isGuest){
$user=User::find()->where(['id'=> \Yii::$app->user->id])->one();
$last_visit=new \DateTime($user->last_visit);
$last_visit=$last_visit->getTimestamp();
$now=new \DateTime(date("Y-m-d H:i:s"));
$now=$now->getTimestamp();
$diff=$now-$last_visit;
if($diff<600){
$user->total_time+=$diff;
}
$user->last_visit=date("Y-m-d H:i:s");
$user->save();
}
}
}
此处的问题是,当上述验证规则处于活动状态时,组件无法正常工作,并且不会保存对数据库的更改。但是当规则被删除时它会起作用。我不知道如何解决这个问题。