/** * 根据 疾病文章 id, 获取所属疾病的信息 * @author gaoqing * @date 2016-04-01 * @param int $articleid 疾病文章id * @return array 疾病文章所属疾病的信息 */ public function getDiseaseByArtid($articleid) { $disease = []; if ($this->isNotNull($articleid)) { //查询当前文章在 9939_article_disease_rel 中对应的 疾病id,$diseaseid $artDisRel = Relate::getArtDisRel($articleid); $diseaseid = 0; if (!empty($artDisRel)) { $diseaseid = $artDisRel[0]['diseaseid']; } else { return array(); } $redisKey = 'disease_' . $diseaseid; $redis = \Yii::$app->redis; $disease = $redis->get($redisKey); if (isset($disease) && !empty($disease)) { return $disease; } else { //根据 $diseaseid 获取疾病的信息 $disease = Disease::find()->where(['id' => $diseaseid])->asArray(true)->one(); if (isset($disease) && !empty($disease)) { $diseaseContent = DiseaseContent::find()->select('inspect')->where(['id' => $disease['id']])->asArray(true)->one(); if (isset($diseaseContent) && !empty($diseaseContent)) { $disease = array_merge($disease, $diseaseContent); } $redis->set($redisKey, $disease, 15 * 24 * 60 * 60); } return $disease; } } return $disease; }