- Posts: 27
- Thank you received: 1
Ask the community, share ideas, and connect with other LimeSurvey users!
Please Log in to join the conversation.
private function getSubQuestionsByQuestionId($qid, $language = "en") { $aBasicDestinationFields = \Question::model()->tableSchema->columnNames; array_push($aBasicDestinationFields, 'available_answers'); array_push($aBasicDestinationFields, 'subquestions'); array_push($aBasicDestinationFields, 'attributes'); array_push($aBasicDestinationFields, 'attributes_lang'); array_push($aBasicDestinationFields, 'answeroptions'); array_push($aBasicDestinationFields, 'defaultvalue'); if (!empty($aQuestionSettings)) { $aQuestionSettings = array_intersect($aQuestionSettings, $aBasicDestinationFields); } else { $aQuestionSettings = $aBasicDestinationFields; } if (empty($aQuestionSettings)) { return array('status' => 'No valid Data'); } $aResult = ; foreach ($aQuestionSettings as $sPropertyName) { if ($sPropertyName == 'available_answers' || $sPropertyName == 'subquestions') { $oSubQuestions = \Question::model()->findAllByAttributes(array( 'parent_qid' => $qid, 'language' => $language ), array('order' => 'title')); if (count($oSubQuestions) > 0) { $aData = array(); foreach ($oSubQuestions as $oSubQuestion) { if ($sPropertyName == 'available_answers') { $aData[$oSubQuestion['title']] = $oSubQuestion['question']; } else { $aData[$oSubQuestion['qid']]['title'] = $oSubQuestion['title']; $aData[$oSubQuestion['qid']]['question'] = $oSubQuestion['question']; $aData[$oSubQuestion['qid']]['scale_id'] = $oSubQuestion['scale_id']; } } $aResult[$sPropertyName] = $aData; } else { $aResult[$sPropertyName] = 'No available answers'; } } } return $aResult["subquestions"] ?? ; }
Please Log in to join the conversation.
Please Log in to join the conversation.