Laravel查询一段时间

时间:2017-12-02 19:55:39

标签: php mysql sql laravel

我正在寻找一种方法来进行查询,比较时间,早上 - 6到9,白天 - 9到12,晚上12 - 5

现在,我在html中使用select选项

<select name="time" id="time">
          <option disabled value="">Choose A Time</option>
          <option value="06:00 - 09:00">Morning - 06:00 - 09:00 </option>
          <option value="10:00 - 13:00">Day - 10:00 - 13:00 </option>
          <option value="14:00 - 18:00">Evening - 14:00 - 18:00</option>
        </select>

我试图像这样查询,datetime我从数据库中得到它,就像2017-12-13 06:15:00

    $query->whereTime('datetime', '>=', $request->get('time').':00')                    
    });

我不知道如何比较一段时间,例如将06:00-09:0006:15进行比较

1 个答案:

答案 0 :(得分:1)

您可以使用与上面相同的查询来查找两次之间的表行。

$query->whereTime('timestamp', '>=', \Carbon\Carbon::parse('06:00'))
     ->whereTime('timestamp', '<=', \Carbon\Carbon::parse('06:30'))

不要像这样连接日期字符串,

$request->get('time').':00')  

这不太合适,你可能会因为这种方法而失败。