检查给定时间是否在php laravel 5.4

时间:2017-10-30 07:27:34

标签: php mysql laravel

这是我的方案,

假设我们有一辆食品卡车,它有每日安排,并预定有开始时间和结束时间。卡车的开始时间 09:00:00 ,结束时间 12:00:00 。如果用户输入以下输入
Scenario1:
start_time = 09:00

out_put
为真并返回时间表

Scenario2:
start_time = 11:00

out_put
是的,并提供时间表

场景3:
start_time = 12:00

out_put
是的,并提供时间表

Scenario4:
start_time = 11:00

end_time = 12:00

out_put
为真,并给出一个时间表(因为它位于间隔中)

我已经编写了以下查询来检查这些情景

    public function search_schedule($time){
     if (isset($time['start_time']) && count($time) > 0) {
      $sql->where(function($sql) use ($time){                              
      $sql->where('start_time', '<=', date("H:i:s",strtotime($time['start_time'])));
      $sql->where('end_time', '>=', date("H:i:s", strtotime($time['start_time'])));    
 });
       }
     if (isset($time['end_time']) && count($time) > 0) {
        $sql->where(function($sql) use ($time) {
        $sql->where('start_time', '<=', date("H:i:s", strtotime($time['end_time'])));
        $sql->where('end_time', '>=', date("H:i:s", strtotime($time['end_time'])));
          });
       }
    }

此代码段对于上述方案非常适用。只有一种情况是产生问题。场景是

Scanario

Start_time: 08:00:00

end_time: 11:00:00

它应该返回时间表,因为end_time在9-12区间

在这方面我该怎么做?

0 个答案:

没有答案