static function convertToTree()
 {
     $obj = ProductCategoryService::getCategory();
     $m = new MProdCat();
     if ($_POST['radio'] == "truncate") {
         $m->truncate();
     }
     //
     //        pr($obj);
     $num = 0;
     $gagal = 0;
     $gagalArr = array();
     foreach ($obj->layer as $key => $val) {
         $name = trim(rtrim($obj->detail->{$key}));
         $urutan = $obj->urutan->{$key};
         $mp = new MProdCat();
         $mp->cat_name = $name;
         $mp->cat_id = $key;
         $mp->cat_parent_id = 0;
         $mp->cat_urutan = $urutan;
         if ($mp->save(1)) {
             $num++;
         } else {
             $gagal++;
             $gagalArr[] = $key;
         }
         //key semua ke anak2nya
         foreach ($val as $key2 => $val2) {
             $name2 = trim(rtrim($obj->detail->{$key2}));
             $urutan2 = $obj->urutan->{$key2};
             $mp2 = new MProdCat();
             $mp2->cat_id = $key2;
             $mp2->cat_name = $name2;
             $mp2->cat_parent_id = $key;
             $mp2->cat_urutan = $urutan2;
             if ($mp2->save(1)) {
                 $num++;
             } else {
                 $gagal++;
                 $gagalArr[] = $key2;
             }
             foreach ($val2 as $val3) {
                 $name3 = trim(rtrim($obj->detail->{$val3}));
                 $urutan3 = $obj->urutan->{$val3};
                 $mp3 = new MProdCat();
                 $mp3->cat_id = $val3;
                 $mp3->cat_name = $name3;
                 $mp3->cat_parent_id = $key2;
                 $mp3->cat_urutan = $urutan3;
                 if ($mp3->save(1)) {
                     $num++;
                 } else {
                     $gagal++;
                     $gagalArr[] = $val3;
                 }
             }
         }
         $json['success'] = $num;
         $json['failed'] = $gagal;
         $json['failed_arr'] = $gagalArr;
         echo json_encode($json);
         die;
     }
 }