【发布时间】:2021-04-24 16:32:19
【问题描述】:
我有这样的数据库表格:
| ID | Vehicle | Date_start | Date_end | Status |
| 1 | A | 2021-01-17 12:00:00 | 2021-01-18 13:00:00 | Finish |
| 2 | B | 2021-01-19 12:00:00 | 2021-01-21 12:00:00 | In Use |
然后,我有这样的代码:
$datestart = '2021-01-19 '.Date("H:i");
$dateend = '2021-01-20 '.Date("H:i");
$cek =Peminjamanrandis::where('status','!=',"Cancel")
->where('status','!=','Selesai')
->where('status','!=','Pengajuan Peminjaman')
->where('status','!=','Tidak Disetujui')
->where(function ($query) use($datestart,$dateend) {
$query->whereBetween('date_start',[$datestart,$dateend])
->orwhereBetween('date_end',[$datestart,$dateend]);
})
->where(function ($query) use($datestart) {
$query->where('date_start', '<=', $datestart)
->orWhere('date_start', '>=',$datestart);
})
->where(function ($query) use($dateend) {
$query->where('date_end', '<=', $dateend)
->orWhere('date_end', '>=',$dateend);
})
->get(['id_randis']);
然后我有一个接收日期开始和日期结束的表单输入。 问题:当用户输入日期开始 = 2021-01-19 和日期结束 = 2021-01-20 或日期开始 = 2021-01-20 和日期结束 = 2021-01-20 时。它什么也没显示。
我的目标是当用户这样输入时,它会显示车辆 B(ID 2)。我该怎么做?
【问题讨论】:
-
您不希望开始日期为当天的开始日期,结束日期为当天的结束日期吗?
-
@lagbox 开始日期和结束日期取决于用户输入,我只是尝试这样的情况并找到错误。
标签: mysql sql database laravel eloquent