/** * 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')); } }