作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想检查输入的时间是否已经存在于数据库中?在 $dbsum 和 $dbesum 中,我正在计算总和,就像如果我输入 starttime 11:30 那么它会在 $dbsum 中给出 690,如果我输入 endtime 12.30 那么它会在 $dbesum 中给出 750。 'c_start'和'c_end'是数据库中已经存在的总和。现在我想检查'c_start'和'c_end'之间是否存在$dbsum和$dbesum。我的查询如下在 Controller 中。但它不起作用。
$dbstime = explode(':',$request->input('starttime'));
$dbetime = explode(':',$request->input('endtime'));
$dbstime[0] = $dbstime[0]*60;
$dbetime[0] = $dbetime[0]*60;
$dbsum = array_sum($dbstime);
$dbesum = array_sum($dbetime);
$users=DB::table("bookings")
->select("bookdate")
->where([
['bookdate', '=', $request->input('bookdate')],
['roomname', '=', $request->input('roomname')],
['starttime', '=', $request->input('starttime')],
['endtime', '=', $request->input('endtime')],
->whereBetween('c_start', [$dbsum, $dbesum])
->whereBetween('c_end', [$dbsum, $dbesum])
->get();
最佳答案
$users=DB::table("bookings")
->select("id")
->where('bookdate', '=', $request->input('bookdate'))
->where('roomname', '=', $request->input('roomname'))
->where(function ($query){
$query->where($dbsum, '>', 'c_start');
$query->orWhere($dbsum, '<', 'c_end');
})
->orWhere(function($query){
$query->where($dbesum, '>', 'c_start');
$query->orWhere($dbesum, '<', 'c_end');
})
->get();
关于mysql - 拉拉维尔 : checking the time by whereBetween clause,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41330995/
我是一名优秀的程序员,十分优秀!