Laravel 5:检查事件日期范围是否尚未确定 [英] Laravel 5: Check if event date range is not already taken
本文介绍了Laravel 5:检查事件日期范围是否尚未确定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在为几天的活动创建日历,并且活动不能重叠.但是事件可以在另一个事件开始/结束时开始/结束.
I'm creating calendar for few days events and the events can not overlap. But event can start/end when another event starts/ends.
在Laravel中,我在事件模型表中存储事件的开始和结束日期. 在存储新事件之前,如何检查数据库是否有效(不与现有事件重叠,不包括保证金/边界天)?
In Laravel, in my event model table I am storing start and end date of events. How can I check before storing new event do database, if it is valid (is not overlapping with existing events, excluding margin/boundary days) ?
在此先非常感谢您的帮助.
In advance thank You very much for Your help.
推荐答案
您可以使用以下代码来获取特定时间之间预订的事件的正确计数:
You can use following code to get the correct counts for events booked between certain times:
$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();
这篇关于Laravel 5:检查事件日期范围是否尚未确定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文