私は fullcalendar プラグインを使用しており、特定の日付の前後にデータベース内のすべてのイベントを取得しようとしています。フル カレンダーは、'start' と 'end' というパラメーターを追加することで、イベントのページ付けを行います。次のように、これらを 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();
2 番目のアプローチで、これら 2 つの日付の間にイベントが公開されないのはなぜですか。最初のアプローチを実行すると、正常に動作し、すべてのイベントを取得して現在のページに公開しますが、残念ながら、取得する必要のない多くのイベントも取得しています。
DB クエリを聞いた後、イベント クエリは次のようになりました。
select * from
events
whereuser_id
= ? およびstart
>= ? とend
<= ?