public function actionCreate() { $this->checkAccess("create"); $models = array(); $requestData = Yii::$app->getRequest()->getBodyParams(); $periodArray = isset($requestData['class_period_time']) ? split("-", $requestData['class_period_time'])[0] : 0; $transaction = Yii::$app->getDb()->beginTransaction(); try { for ($i = 0; $i < $periodArray; $i++) { $newModel = new Classes(); if ($i > 0) { $requestData['class_date'] = date('Y-m-d', strtotime($requestData['class_date'] . ' +7 day')); $requestData['class_stime'] = (int) $requestData['class_stime'] + 7 * 24 * 60 * 60; $requestData['class_etime'] = (int) $requestData['class_etime'] + 7 * 24 * 60 * 60; } if ($newModel->load($requestData, '') && $newModel->save()) { $models[] = $newModel; } else { $transaction->rollBack(); return ApiHelper::errorResponse($newModel->getErrors(), 422); } } $transaction->commit(); } catch (\Exception $ex) { $transaction->rollBack(); return ApiHelper::errorResponse($ex->getMessage()); } $user = User::findIdentityByAccessToken(Yii::$app->request->get('access-token')); $newModel->sendMsgNewClass($user); return ApiHelper::successResponse($models); }