public function detail($request, $response) { $id = $request->id; $disease = DAL::get()->find('disease', $id); $response->disease = $disease; $types = array(DiseaseRelation::TYPE_SYMPTOM, DiseaseRelation::TYPE_LOCATION); $response->relations = DAL::get()->queryStringRelation('DiseaseRelation', $disease->id, $types); //列出所有标签 不管是否有关联 $defaultList = LableDefine::getLableList(); $lableArr = array(); $diseaseTags = array(); if ($disease->isNull() == false) { $diseaseTags = DiseaseClient::getInstance()->getDiseaseTag($disease->id); $diseaseLableList = DiseaseClient::getInstance()->getDiseaseLablesByDisease($disease->id); foreach ($defaultList as $id => $title) { if (empty($diseaseLableList)) { $lableArr[$title] = array(); } else { foreach ($diseaseLableList as $diseaseLable) { if ($diseaseLable->lableid == $id) { $lableArr[$title][] = $diseaseLable->objectid; } else { $lableArr[$title][] = array(); } } if (isset($lableArr[$title])) { $lableArr[$title] = array_filter($lableArr[$title]); } } } } $response->threadCategoryTopList = ThreadCateClient::getInstance()->getTopLevelList(); $response->threadCategory = DAL::get()->find('ThreadCategory', $disease->threadCategoryId); $response->lableArr = $lableArr; $response->diseaseTags = $diseaseTags; $response->nounClassList = Disease::nounClassDef(); $response->msg = $request->msg; $response->title = '疾病'; }