Предложение DB / Eloquent для получения всех строк с сегодняшнего дня. Laravel 5 - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть модель с датой. Поскольку он основан на негригорианском календаре, мне нужно разбить дату на 3 столбца dd, mm и yy, чтобы выполнить над ним операции.

Мне нужно получить 3 строки, которые имеют дату сегодня или после.

Мне нужно написать условие, где

  yy >= today[year]
  mm >= today[month]

и за результат этого орудия

  mm >= today[month]
  dd >= today[date] 

Как написать предложение для выполнения этого условия?

Я пытался, это

$event = Model::select(['id','name'])
  ->where('yy','>=',today['year'])
  ->where('mm','>=',today['month'])
  ->where('dd','>=',today['date'])
  ->orderBy('yy','ASC')
  ->orderBy('mm','ASC')
  ->orderBy('dd','ASC')
  ->take(3)->get();

Но это не возвращает строки, dd которых меньше сегодняшнего [date], даже если mm и yy больше сегодняшнего [month] и сегодняшнего [year]

1 Ответ

0 голосов
/ 25 апреля 2019

Вы должны использовать условие where.Like;

$now = Carbon::now();

$result = Model::where('year', '>=', $now->getYear())->where('month', '>=', $now->getMonth())->where('day', '>=', $now->getMonth())->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...