показывать только события, которые больше или равны - PullRequest
0 голосов
/ 08 марта 2019

Я работаю в проекте, где я отображаю различные события в моем представлении.На данный момент цель состоит в том, чтобы показывать только события, которые ожидаются, поэтому на нем не отображаются события, которые старше, чем сегодня.

Пользователи моей страницы могут создать событие и установить для него определенную дату.

Данные хранятся в моей базе данных следующим образом:

$table->string('datum');

В представлении это возвращает это так:

06.03.2019

Мой контроллервернуть данные выглядит следующим образом:

$date = date('d.m.Y');
$evententries = Event::where('datum', '>=', $date)->orderBy('datum', 'asc')->take(3)->get();

но это как-то не работает ..

У кого-нибудь есть идеи, как это исправить и в чем моя проблема?

Кстати, я использую Laravel 5.7.

Спасибо:)

1 Ответ

0 голосов
/ 08 марта 2019

Хм, вы делаете это неправильно с самого начала ...

Первое: почему вы используете строку для хранения значения даты? есть гораздо лучшие варианты для хранения даты в базе данных ...

Второе: вы используете формат даты, который нельзя сравнивать таким образом (используя <> =)

при сравнении строк, т. Е. 08.03.2019 будет всегда меньше 10.01.2016, потому что 1> 0 ... поэтому, если вы сравниваете даты, используйте:

  1. формат дБ для хранения дат
  2. для сравнения используйте формат yyyy-mm-dd, потому что при этом даже простое сравнение строк даст вам правильный результат ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...