/** * Creates a new Date model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Date(); if ($model->load(Yii::$app->request->post())) { if ($model->start_date < $model->end_date) { $realDate = $model->start_date; do { $date = Date::find()->where(['=', 'date', $realDate])->one(); if (!$date) { $date = new Date(); $date->date = $realDate; $date->save(); } $realDate = date('Y-m-d', strtotime($realDate . ' +1 day')); } while ($realDate <= $model->end_date); } else { $model->addError('end_date', 'End Date Must bigger than Start Date'); } } return $this->redirect(['index']); }