选择语言 :

 Module_OOP_ORM_Parse::_check_fieldname

检查字段名

null Module_OOP_ORM_Parse::_check_fieldname( string $key , array & $field_config , & $field_to_offset )

参数列表

参数 类型 描述 默认值
$key string $key
$field_config array $field_config
$field_to_offset unknown
File: ./modules/oop/orm/parse.class.php
protected static function _check_fieldname($key, &$field_config, &$field_to_offset)
{
    # 是否只读字段
    if ( isset($field_config['is_readonly']) )
    {
        $field_config['is_readonly'] = (bool)$field_config['is_readonly'];
    }

    # 是否虚拟字段
    if ( isset($field_config['is_virtual_field']) && $field_config['is_virtual_field'] )
    {
        unset($field_config['field_name']);
        return;
    }
    elseif ( !isset($field_config['field_name']) )
    {
        $field_config['field_name'] = $key;
    }

    $field_config['is_virtual_field'] = false;

    if ( false!==strpos($field_config['field_name'], '[') && preg_match('#^([a-z0-9_]+)\[(.*)\]$#i', $field_config['field_name'], $m) )
    {
        # 支持 test[abc][def] 格式
        unset($field_config['field_name'], $field_config['data'], $field_config['orm']);
        $field_config['_parent_offset_name'] = $m[1];
        $field_config['_sub_key_name'] = str_replace('][', '.', $m[2]);
    }
    elseif ( false!==strpos($field_config['field_name'] , '.') )
    {
        # 支持 test.abc.def 格式
        unset($field_config['field_name'], $field_config['data'], $field_config['orm']);
        $m = explode('.', $field_config['field_name'],2);
        $field_config['_parent_offset_name'] = $m[0];
        $field_config['_sub_key_name'] = $m[1];
    }
    else
    {
        $field_to_offset[$field_config['field_name']][] = $key;
    }
}