首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel FullCalendar

Laravel FullCalendar
EN

Stack Overflow用户
提问于 2020-11-07 05:53:43
回答 1查看 67关注 0票数 0

我在做一个预订系统...我遇到了以下问题:

例如,人们可以从11/06/2020 - 10:00到11:00 am…注册了这个。第二个客户端无法注册,例如从11/06/2020 - 10:30到11:30 (因为它很忙),到目前为止一切都很完美……

问题1)但如果预订的时间是2020年11月6日至上午10:00至上午11:00..。不允许客户端在2020年11月6日至上午11:00之间进行注册。至下午12:00..。他们必须在2020年6月11日至上午11:01之间执行此操作。至下午12:00..。

问题2)如果客户注册了11/06/2020 - 11:00至12:00

它允许我注册2020年11月6日-下午1:00至下午3:00例如但不是..。

11/07/2020 - 11:00至12:00

他说日程表已经很忙了,但他不会把这一天和我相比...

代码语言:javascript
复制
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 ? true : false;
    } 

-----------------------------

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);
    }
EN

回答 1

Stack Overflow用户

发布于 2020-11-07 05:59:21

只需在三元组中添加一个额外的比较,以确定$horaInicial是否与返回false的$agenda->hour_end匹配,如下所示:

代码语言:javascript
复制
return $agenda === null || $agenda->hour_end === $horaInicial 

只要议程不存在,或者议程的结尾与议程的开头相匹配,我们就会有一个valid开始时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64722079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档