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; } }