示例#1
0
 /**
  * 检查并规范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;
         }
     }
 }