public function agendas_multi_dias() { $params = Input::all(); $especialidad = Especialidad::findOrFail($params['especialidad_id']); $dias = $especialidad->lapso; $desde = isset($params["desde"]) && !empty($params["desde"]) ? $params["desde"] : date("Y-m-d"); $hasta = isset($params["hasta"]) && !empty($params["hasta"]) ? $params["hasta"] : date("Y-m-d", strtotime($desde . " +" . $dias . " days")); $coes = CentroOdontologoEspecialidad::where('odontologo_id', $params['odontologo_id'])->where('centro_id', $params['centro_id'])->where('especialidad_id', $params['especialidad_id'])->get(); $agendas_array = array(); foreach ($coes as $coe) { $aa = $agendas_array; $agendas = $coe->agendas()->whereBetween('fecha', array($desde, $hasta))->with(array('turnos' => function ($query) { $query->where('estado', '=', 'L'); }))->get(); $agendas_array = array_merge($aa, $agendas->toArray()); } /* cuento turnos libres */ function turnoslibres($a) { $a["turnos"] = count($a["turnos"]) ? true : false; return $a; } $agendas_array1 = array_map('turnoslibres', $agendas_array); return Response::json(array('error' => false, 'listado' => $agendas_array1), 200); }