此表格每天会收到+-400条记录,很少有记录会自动复制,相差1或2秒。
NumsController.php
public function actionCreate()
{
$model = new Nums();
$model->scenario = Nums::SCENARIO_CREATE;
if ($model->load(Yii::$app->request->post()) && $model->save()) {
try {
if ($model->treatment == 3 && ($model->cc == null || $model->cc == '')) {
if ($EmailTo = filter_var($model->idUser->email,FILTER_SANITIZE_EMAIL))
Yii::$app->mailer->compose()
->setFrom('xxxxxx')
->setTo($EmailTo)
->setCc(array('xxxxxx', 'xxxxxx', 'xxxxxx'))
->setSubject("xxxxxx")
->setTextBody('Plain Text content')
->setHtmlBody(
"Email Text Example")
->send();
}elseif ($model->treatment == 3 && ($model->cc != null && $model->cc != '')){
if ($EmailTo = filter_var($model->idUser->email,FILTER_SANITIZE_EMAIL))
if($EmailCC = filter_var($model->cc,FILTER_SANITIZE_EMAIL))
Yii::$app->mailer->compose()
->setFrom('xxxxxx')
->setTo($EmailTo)
->setCc(array($EmailCC, 'xxxxxx', 'xxxxxx', 'xxxxxx'))
->setSubject("xxxxxx")
->setTextBody('Plain Text content')
->setHtmlBody(
"Other Email Text Example")
->send();
}
return $this->redirect(['create']);
}catch(Swift_SwiftException $exception){
Yii::$app->session->setFlash('warning', "Email not sent");
return $this->redirect(['view', 'id' => $model->id]);
}
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
我知道代码令人困惑,但这会是代码问题吗? 可能是服务器问题吗?是它发生了几次,在400次中只有2次。
我有一个这样的条件验证器
['id_user', 'required',
'when' => function ($model) {
return $model->treatment == '2' OR $model->treatment == '3';
},
'whenClient' => "function (attribute, value) {
return $('#treatment').val() == '2' || $('#treatment').val() == '3';
}",
'on' => self::SCENARIO_CREATE
],
更新
beforeValidate()in common \ models \ Nums.php
public function beforeValidate()
{
if ($this->scenario == self::SCENARIO_CREATE){
$this->a = Yii::$app->user->identity->id;
$this->date = date('Y-m-d H:i:s');
}else {
$this->a = $this->a;
$this->date = $this->date;
}
return parent::beforeValidate(); // TODO: Change the autogenerated stub
}