/** * 检查并规范ORM字段配置 * */ public static function check_config(&$setting, &$field_to_offset, &$id_field) { if (!is_array($setting)) { return; } foreach ($setting as $key => &$field_config) { if (!is_array($field_config)) { if (null === $field_config) { $field_config = $key; } $field_config = array('field_name' => $field_config); } OOP_ORM_Parse::_check_fieldname($key, $field_config, $field_to_offset); OOP_ORM_Parse::_check_orm($key, $field_config); OOP_ORM_Parse::_check_data($key, $field_config); OOP_ORM_Parse::_check_object($key, $field_config); if (!$id_field) { OOP_ORM_Parse::_check_id_field($key, $field_config, $id_field); } } unset($field_config); # 整理数据子集 foreach ($setting as $key => $config) { if (isset($config['_parent_offset_name'])) { $setting[$config['_parent_offset_name']]['_all_sub_offset'][] = $key; } } }