コード例 #1
0
 /**
  * Delete Questionnaire.
  *
  * <b>Request Type</b>: DELETE<br/><br/>
  * <b>Request Endpoint</b>:http://{server-domain}/api/content/questionnaire/{product_id_list}<br/><br/>
  * <b>Response Content-type</b>: application/json<br/><br/>
  * <b>Summary</b>: This api is used for deleting questionnaire.
  * <br/><br/>
  *
  * <pre>
  * </pre>
  */
 public function actionDelete($id)
 {
     $idList = explode(',', $id);
     $ids = [];
     foreach ($idList as $perId) {
         $ids[] = new MongoId($perId);
     }
     $questionnaireMessage = Questionnaire::getByQuestionnaireIds($ids);
     if (empty($questionnaireMessage)) {
         throw new BadRequestHttpException(Yii::t('content', 'questionnaire_is_deleted'));
     }
     $questionIds = [];
     if (is_array($questionnaireMessage)) {
         foreach ($questionnaireMessage as $questionnaireInfo) {
             $questionIds = array_merge($questionIds, $questionnaireInfo['questions']);
         }
     }
     $isDeQuestionnaire = Questionnaire::deleteAll(['_id' => ['$in' => $ids]]);
     $isDeQuestion = Question::deleteAll(['_id' => ['$in' => $questionIds]]);
     if (!$isDeQuestionnaire && !$isDeQuestion) {
         throw new ServerErrorHttpException(Yii::t('content', 'delete_fail'));
     }
 }