public function recursiva_universidad($table, $id, $nombre) { $temp = array(); switch ($table) { case 'continente': $breadCrum = "Continente"; $temp = Continente::all(); $table = 'pais'; # code... break; case 'pais': $breadCrum = "País"; $temp = Pais::where('continente', $id)->get(); $table = 'Convenio'; # code... break; case 'Convenio': $breadCrum = "Convenio"; $temp = Collection::make([["nombre" => "Si"], ["nombre" => "No"]]); $table = 'Universidad'; # code... break; case 'Universidad': $breadCrum = "Universidad"; $temp = Universidad::where('pais', $id)->where('convenio', $nombre)->get(); $table = 'fin'; # code... break; } $arrayFinal = []; // $temp = Pais::all(); foreach ($temp as $key => $valor) { switch ($table) { case 'Universidad': $nombre = $temp->toArray()[$key]["nombre"]; # code... $padre = $id; $children = Universidad::where('pais', $padre)->where('convenio', $nombre)->count(); break; case 'fin': $padre = $valor->id; $nombre = $valor->nombre; $children = 1; break; default: # code... $padre = $valor->id; $nombre = $valor->nombre; $children = $valor->childrenUniversidad; break; } if ($children) { $arrayFinal[] = array('name' => $nombre, 'breadCrum' => $breadCrum, 'size' => $children, 'children' => $this->recursiva_universidad($table, $padre, $nombre)); } } return $arrayFinal; }
public function getAllContinente() { $continentes = Continente::all(); $arra = array('data' => $continentes->toArray()); return json_encode($arra); }