Laravel 5:检查事件日期范围是否尚未确定 [英] Laravel 5: Check if event date range is not already taken

查看:99
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆