public function getType($id) { if (!array_key_exists($id, $this->unit_types)) { $start = floor($id / 10000) * 10000; $end = $start + 10000; $this->unit_types = Unit::search("`id` >= {$start} AND `id` < {$end}")->toArray('type'); } return $this->unit_types[$id]; }
foreach (array_keys($type_names) as $id) { $units[$id] = array(); } } } if (count($unit_names)) { // 1 - 公司 foreach (UnitData::search(array('column_id' => 2))->searchIn('id', $units[1]) as $unitdata) { $unit_names[$unitdata->id] = $unitdata->value; } // 2 - 商業登記 foreach (UnitData::search(array('column_id' => 33))->searchIn('id', $units[2]) as $unitdata) { $unit_names[$unitdata->id] = $unitdata->value; } // 3 - 分公司 foreach (Unit::search(1)->searchIn('id', $units[3]) as $unit) { $unit_names[$unit->id] = json_encode($unit->name()); } // 4 - 教育部, 99 - 其他 foreach (UnitData::search(array('column_id' => 43))->searchIn('id', array_merge($units[4], $units[99])) as $unitdata) { $unit_names[$unitdata->id] = $unitdata->value; } foreach ($unit_names as $id => $value) { $rows = array(); $rows[] = str_pad($id, 8, '0', STR_PAD_LEFT); $rows[] = $type_names[$types[$id]]; $v = json_decode($value); if (is_array($v)) { $rows[] = $v[0]; } else { $rows[] = strval($v);