public function init($value)
 {
     parent::init($value);
     if ($value === 0 || $value === "0" || $value === "" || $value === null) {
         $this->showValue = ' - ';
         return;
     }
     $this->valueSetted = true;
     if (!is_object($value) && $this->relate_id_is_id) {
         $real_value = new MongoId($value);
     } else {
         $real_value = $value;
     }
     $cache_rst = $this->checkCache($value);
     if ($cache_rst != null) {
         $this->showValue = $cache_rst;
         $this->value_checked = 1;
         return;
     }
     $this->db->select(array($this->valueField, $this->showField))->where(array($this->valueField => $real_value))->limit(1);
     $query = $this->db->get($this->tableName);
     if ($query->num_rows() > 0) {
         $result = $query->row_array();
         if (isset($result[$this->showField])) {
             $this->showValue = $result[$this->showField];
             $this->setCache($value, $this->showValue);
         }
         $this->value_checked = 1;
     } else {
         $this->showValue = '[未知(id:' . $value . ')]';
         $this->value_checked = -1;
     }
 }