public function getLoot() { $loot = Yii::app()->cache->get('creature_' . $this->lootid . '_loot'); if ($loot === false) { $loot = WowDropLoot::loot('creature_loot_template', $this->lootid); Yii::app()->cache->set('creature_' . $this->lootid . '_loot', $loot); } $dataProvider = new CArrayDataProvider($loot, array('keyField' => 'entry')); return $dataProvider; }
public function getDisenchantFrom() { $drop = Yii::app()->cache->get('item_' . $this->entry . '_disenchantFrom'); if ($drop === false) { $drop_de = WowDropLoot::drop('disenchant_loot_template', $this->entry); $drop = array(); if ($drop_de) { foreach ($drop_de as $lootid => $drop_info) { $rows = $this->dbConnection->createCommand("\n SELECT displayid, entry, name, itemLevel, Quality\n FROM item_template\n WHERE DisenchantID = {$lootid}")->queryAll(); foreach ($rows as $row) { $row['icon'] = Yii::app()->db->createCommand("SELECT icon FROM wow_icons WHERE displayid = {$row['displayid']} LIMIT 1")->queryScalar(); $drop[] = array_merge($row, $drop_info); } } } Yii::app()->cache->set('item_' . $this->entry . '_disenchantFrom', $drop); } $dataProvider = new CArrayDataProvider($drop, array('keyField' => 'entry', 'pagination' => false)); return $dataProvider; }