1

我正在使用 fullcalendar 插件,并且试图在某个日期之后和之前获取我的数据库中的所有事件。完整日历通过添加名为“开始”和“结束”的参数对事件进行分页。我能够将这些解析为 Carbon 实例,如下所示:

Carbon::parse($data['start']);
Carbon::parse($data['end']);

现在这工作正常:

$events = $this->event->where('user_id', auth()->user()->id)
                        ->get();

但这不是:

$events = $this->event->where('user_id', auth()->user()->id)
                        ->where('start', '>=', Carbon::parse($data['start']))
                        ->where('end', '<=', Carbon::parse($data['end']))
                        ->get();

为什么我没有使用第二种方法在这两个日期之间发布事件。当我运行第一种方法时,它可以正常工作并获取所有事件并将它们发布到当前页面上,但不幸的是它还获取了大量不需要获取的事件。

听完数据库查询后,事件查询如下:

选择 * 从events哪里user_id= ?和start>= ?和end<= ?

4

1 回答 1

0

这是我的一个小错误,我没有在我的数据库中设置事件的结束日期,因此查询了经过身份验证的用户的所有事件都正常工作的地方。

事实上,查询>= start也可以单独工作,但是<= end由于 end 为空,因此创建了问题,因此 Eloquent 没有返回任何模型。

于 2015-05-12T07:59:34.570 回答