Я работаю с плагином fullcalendar, и я пытаюсь получить все события в моей базе данных после и до определенной даты. Полный календарь разбивает страницы на события, добавляя параметры, называемые «start» и «end». Я могу разобрать их в к экземплярам углерода следующим образом:Невозможно сравнить Углеродные экземпляры в Laravel 5?
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();
Почему я не получаю события, опубликованные между этими двумя датами, со вторым подходом. Когда я запускаю первый подход, он отлично работает и извлекает все события и публикует их на текущей странице, но, к сожалению, он также извлекает множество событий, которые не требуют выборки.
После прослушивания запросов БД, запрос событие было как:
select * from
events
user_id
где =? иstart
> =? иend
< =?
Попробуйте получить фактические SQL-запросы, отправленные в базу данных, и обновите вопрос с ними. – Furgas
Я слушал запросы БД. Я думаю, он не показывает значения для целей безопасности, но это то, что сказал файл журнала после того, как я зарегистрировал все запросы. Я включил в свой запрос только запрос к событию. – Rohan
Попробуйте 'Carbon :: parse ($ data ['start']) -> toDateString()' – Robert