コード例 #1
0
 /**
  * Busca em profundidade.
  * 
  * Monta a árvore de cargos
  * 
  * @param type $jobModel Cargo pai
  * @return array Árvore de cargos
  */
 protected function depthFirstSearch(Job $jobModel)
 {
     $childrenArr = [];
     $jobArr = ['id' => $jobModel->getJobId(), 'name' => $jobModel->getJobName(), 'department' => $jobModel->getDepartment()->getDepartmentName(), 'children' => &$childrenArr];
     $children = $jobModel->getChildren()->toArray();
     foreach ($children as $child) {
         $childrenArr[] = $this->depthFirstSearch($child);
     }
     return $jobArr;
 }