/** * 设置表字段资料 * @param string $name 字段名称 * @param mixed $value 值 */ public function __set($name, $value) { //设置表字段资料 if (is_array($this->_result_array) && array_key_exists($name, $this->_result_array)) { if ($name != $this->getPrimaryKey()) { if (strpos($name, '_all_data_count') === false) { if (isset($this->_field_change_array[$name])) { $this->_field_change_array[$name]['count']++; $this->_field_change_array[$name]['log'][] = $value; } else { $this->_field_change_array[$name]['count'] = 1; $this->_field_change_array[$name]['log'][] = $value; } } if ($value === NULL) { unset($this->_result_array[$name]); return; } $value = XF_Functions::numberToString($value); if ($this->_set_var_validate == true && $this->_field_validate_rule) { $data = array($name => $value); if (XF_Db_Table_Validate::getInstance()->validateData($data, $this->getFieldValidateRule()->toArray()) === false) { throw new XF_Db_Table_Exception(XF_DataPool::getInstance()->get('TableFieldDataValidateError')); } $this->_result_array[$name] = $data[$name]; } else { $this->_result_array[$name] = $value; } } } else { //2013-1-9 if (strpos($name, '[]') !== false) { $name = str_replace('[]', '', $name); $this->_result_array[$name][] = XF_Functions::numberToString($value); } else { $this->_result_array[$name] = XF_Functions::numberToString($value); } } }