zyx*_*sdk 3 php date laravel laravel-5 laravel-5.2
我正在为几天的活动创建日历,并且活动不能重叠。但是事件可以在另一个事件开始/结束时开始/结束。
在Laravel中,我在事件模型表中存储事件的开始和结束日期。在存储新事件之前,如何检查数据库是否有效(不与现有事件重叠,不包括保证金/边界天)?
在此先非常感谢您的帮助。
小智 8
将其用于所有变体交叉日期范围。它对我有帮助
$rangeCount = TransferSchedule::where(function ($query) use ($from, $to) {
$query->where(function ($query) use ($from, $to) {
$query->where('date_from', '<=', $from)
->where('date_to', '>=', $from);
})->orWhere(function ($query) use ($from, $to) {
$query->where('date_from', '<=', $to)
->where('date_to', '>=', $to);
})->orWhere(function ($query) use ($from, $to) {
$query->where('date_from', '>=', $from)
->where('date_to', '<=', $to);
});
})->count();
Run Code Online (Sandbox Code Playgroud)
您可以使用以下代码来获取特定时间之间预订的事件的正确计数:
$eventsCount = Events::where(function ($query) use ($startTime, $endTime) {
$query->where(function ($query) use ($startTime, $endTime) {
$query->where('start', '>=', $startTime)
->where('end', '<', $startTime);
})
->orWhere(function ($query) use ($startTime, $endTime) {
$query->where('start', '<', $endTime)
->where('end', '>=', $endTime);
});
})->count();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1895 次 |
| 最近记录: |