Problema de Logica, Alquiler
Publicado por Katia (5 intervenciones) el 28/11/2020 10:46:35
Hola, estoy armando un sistema de alquileres de cancha y estoy teniendo problemas con la lógica del mismo...
Tengo las tabla canchas... donde almaceno la canchas de un complejo... pero no todos mis clientes tienen la misma configuración y quisiera hacerlo de manera dinámico.
por ejemplo tengo 3 clientes...
1) tiene 4 canchas chicas...ls cuales une para alquilar 1 mediana
2) tiene 3 canchas chicas... las cuales une para alquilar 1 mediana
3) tiene 8 canchas chicas... las cuales une para alquilar 2 medianas o 1 grande...
de momento tengo la siguiente base de datos:
reservas: id - id_cancha - id_usuario - dia - hora_inicio - hora_fin
canchas: id - nombre
de manera estatica con el ejemplo 1.... verifico que tenga disponible el día... la hora de inicio y fin, la cancha seleccionada y si no esta ocupada, la registre:
si todo esta bien... lo registra.
ahora bien... yo hice de manera estatica... que el ejemplo 1 tenga... 4 canchas (chicas) y 1 mediana...en total registre 5 canchas... e hice la misma comprobación pero que ignore el id de cancha así si alguna otra esta ocupada en ese dia y horario... no deje reservar...
y que si el ID enviado de la cancha seleccionada es el 5... ejecute 4 veces la misma consulta...
hasta acá todo bien... el problema es que no es igual en todos mis clientes... y quisiera agregar de manera dinamica... que cada uno agregue sus canchas y cuales pertenecen a otra cancha... pero no me estoy dando maña para hacer el diseño de esto.
Tengo las tabla canchas... donde almaceno la canchas de un complejo... pero no todos mis clientes tienen la misma configuración y quisiera hacerlo de manera dinámico.
por ejemplo tengo 3 clientes...
1) tiene 4 canchas chicas...ls cuales une para alquilar 1 mediana
2) tiene 3 canchas chicas... las cuales une para alquilar 1 mediana
3) tiene 8 canchas chicas... las cuales une para alquilar 2 medianas o 1 grande...
de momento tengo la siguiente base de datos:
reservas: id - id_cancha - id_usuario - dia - hora_inicio - hora_fin
canchas: id - nombre
de manera estatica con el ejemplo 1.... verifico que tenga disponible el día... la hora de inicio y fin, la cancha seleccionada y si no esta ocupada, la registre:
1
2
3
4
5
6
7
$agenda = $agenda = Booking::where('id_field', $field)
->whereDate('day', $fecha)
->where(function ($q) use ($horaInicial, $horaFinal) {
return $q->whereBetween('hour_start', [$horaInicial, $horaFinal])
->orWhereBetween('hour_end', [$horaInicial, $horaFinal]);
})
->first();
si todo esta bien... lo registra.
1
2
3
4
5
6
7
8
9
if($this->validarFecha($input["txtFechaInicio"], $input["txtHoraInicio"], $input["txtHoraFinal"], $input["field"])){
$agenda = Booking::create([
"id_field"=>$input["field"],
"id_user"=>$input["ddlUsuarios"],
"day"=>$input["txtFechaInicio"],
"hour_start"=>$input["txtHoraInicio"],
"hour_end"=>$input["txtHoraFinal"],
"observation"=>$input["txtDescripcion"]
]);
ahora bien... yo hice de manera estatica... que el ejemplo 1 tenga... 4 canchas (chicas) y 1 mediana...en total registre 5 canchas... e hice la misma comprobación pero que ignore el id de cancha así si alguna otra esta ocupada en ese dia y horario... no deje reservar...
y que si el ID enviado de la cancha seleccionada es el 5... ejecute 4 veces la misma consulta...
hasta acá todo bien... el problema es que no es igual en todos mis clientes... y quisiera agregar de manera dinamica... que cada uno agregue sus canchas y cuales pertenecen a otra cancha... pero no me estoy dando maña para hacer el diseño de esto.
Valora esta pregunta


0