Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2020, 08:16
sk0rpi0n
 
Fecha de Ingreso: julio-2009
Mensajes: 121
Antigüedad: 15 años, 3 meses
Puntos: 1
Laravel y FullCalendar

Hola estoy haciendo un sistema de reservas y tengo el siguienteproblema si un cliente se registra para 11/06/2020 - 11:00 a 12:00 este se puede registrar tambien por ejemplo 11/06/2020 - 15:00 a 16:00 por ejemplo.. pero lo que no me deja hacer es 11/07/2020 - 11:00 a 12:00 si tengo el 11/06 de 11 a 12 registrado... no me deja que otro cliente registre de 12/06 (o cualquier otro dia) de 11 a 12!

Código:
public function validarFecha($fecha, $horaInicial, $horaFinal)
    {
        $agenda = Booking::select("*")
            ->whereDate('day', $fecha)
            ->whereBetween('hour_start', [$horaInicial, $horaFinal])
            ->orWhereBetween('hour_end', [$horaInicial, $horaFinal])
            ->first();
 
           return $agenda === null || $agenda->hour_end === $horaInicial
 
    }
 
-----------------------------
 
public function store(Request $request)
    {
        $input = $request->all();
 
        if($this->validarFecha($input["txtFechaInicio"], $input["txtHoraInicio"], $input["txtHoraFinal"])){
            $agenda = Booking::create([
                "id_user"=>$input["ddlUsuarios"],
                "day"=>$input["txtFechaInicio"],
                "hour_start"=>$input["txtHoraInicio"],
                "hour_end"=>$input["txtHoraFinal"],
                "observation"=>$input["txtDescripcion"]
            ]);
 
            return response()->json(["ok"=>true]);
        }else{
            return response()->json(["ok"=>false]);
        }
 
        dd($input);
    }