Ejemplo n.º 1
0
 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);
 }