Example #1
0
 /**
  * 生成省市区+学校联动的源数据为JS文件.
  */
 public function generate_schools()
 {
     //TODO
     $school_info = $region_info = $school_names = $region_names = $region_parents = $region_depths = $region_schools = $grade_schools = array();
     $school_info = SchoolModel::get_v_schools();
     foreach ($school_info as $k => $v) {
         $school_names[$v['school_id']] = $v['school_name'];
         //1. 学校id=>名称关系
         $region_schools[$v['school_id']] = $v['area'];
         //2. 学校与所属区县的关系
         $grade_schools[2][] = $v['school_id'];
         //3. 年级段(小初高1,32,)与学校的关系
         $grade_schools[3][] = $v['school_id'];
         //年级段(小初高1,2,3)与学校的关系
     }
     $region_info = RegionModel::get_all_region();
     foreach ($region_info as $k2 => $v2) {
         $region_names[$v2['region_id']] = $v2['region_name'];
         //4. 地域id=>名称关系
         $region_parents[$v2['region_id']] = $v2['parent_id'];
         //5. 地域每级的关系
     }
     //6. 地域深度
     $region_array1 = $region_array2 = $region_array3 = $region_depths = array();
     $region_array1 = RegionModel::get_regions_by_depth(1);
     //省
     $region_array2 = RegionModel::get_regions_by_depth(2);
     //市
     $region_array3 = RegionModel::get_regions_by_depth(3);
     //区、县
     foreach ($region_array1 as $v3) {
         $region_depths[1][] = $v3['region_id'];
     }
     foreach ($region_array2 as $v4) {
         $region_depths[2][] = $v4['region_id'];
     }
     foreach ($region_array3 as $v5) {
         $region_depths[3][] = $v5['region_id'];
     }
     $str_1 = "var school_names = " . "'" . json_encode($school_names) . "';\n";
     $str_2 = "var region_schools = " . "'" . json_encode($region_schools) . "';\n";
     $str_3 = "var grade_schools = " . "'" . json_encode($grade_schools) . "';\n";
     $str_4 = "var region_names = " . "'" . json_encode($region_names) . "';\n";
     $str_5 = "var region_parents = " . "'" . json_encode($region_parents) . "';\n";
     $str_6 = "var region_depths = " . "'" . json_encode($region_depths) . "';\n";
     file_put_contents(FCPATH . 'js/schools_data.js', $str_1 . $str_2 . $str_3 . $str_4 . $str_5 . $str_6);
 }