Example #1
0
 public function tree()
 {
     $tree = [];
     $tree['countries'] = [];
     $countries = Model::Country()->full()->orderByName()->exec();
     $i = 0;
     foreach ($countries as $country) {
         $tree['countries'][$i] = ['id' => $country['id'], 'code' => $country['code'], 'name' => $country['name']];
         $tree['countries'][$i]['regions'] = [];
         $regions = Model::Region()->full()->orderByName()->exec();
         foreach ($regions as $region) {
             $dpts = [];
             $departments = Model::Department()->where(['region', '=', $region['code']])->orderByCode()->exec();
             if (!empty($departments)) {
                 foreach ($departments as $dpt) {
                     $dpts[] = ['id' => $dpt['id'], 'code' => $dpt['code'], 'name' => $dpt['name']];
                 }
             }
             $tree['countries'][$i]['regions'][] = ['id' => $region['id'], 'code' => $region['code'], 'name' => $region['name'], 'departments' => $dpts];
         }
         $i++;
     }
     return $tree;
 }