0], ['id', 'number', 'integerOnly' => true], ['name', 'default', 'value' => ''], ['gold', 'default', 'value' => 0], ['gold', 'number', 'integerOnly' => true], ['gem', 'default', 'value' => 0], ['gem', 'number', 'integerOnly' => true], ]; } public static function findAllByConfig() { $list = []; $configList = GameConfigServices::getParamByPath('store_list'); foreach ($configList as $configItem) { $item = new StoreItem(); $item->id = $configItem['id']; $item->gold = $configItem['gold']; $item->gem = $configItem['gem']; $item->name = GameConfigServices::getParamByPath(sprintf('item_list.%s.name', $configItem['item_id'])); array_push($list, $item); } return $list; } public static function findConfigByID($id) { $configItem = GameConfigServices::getParamByPath('store_list.' . $id); $item = new StoreItem(); $item->id = $configItem['id']; $item->gold = $configItem['gold']; $item->gem = $configItem['gem']; $item->name = GameConfigServices::getParamByPath(sprintf('item_list.%s.name', $configItem['item_id'])); return $item; } public function saveConfig() { $config = GameConfigServices::getGameConfig(); $config['store_list'][$this->id]['gold'] = $this->gold; $config['store_list'][$this->id]['gem'] = $this->gem; return GameConfigServices::saveGameConfig($config); } public function attributeLabels() { return [ 'id' => 'id', 'name' => '名称', 'gold' => '金币', 'gem' => '钻石', ]; } }