Laravel - Как я могу запросить месяцы и годовые даты? - PullRequest
1 голос
/ 16 октября 2019

Я новичок в Laravel и не совсем уверен, как это сделать.

Я записываю даты в своей базе данных как start_day в моей таблице times.
Дата сохраняется в следующем формате: 2019-10-03

Прямо сейчас все, что у меня есть:

$months = DB::table('times')->where('start_day', '=', 2019)

Как выбрать данные для каждого месяца года?

Ответы [ 3 ]

0 голосов
/ 16 октября 2019

используйте whereYear

use Carbon\Carbon;

$months = DB::table('times')->whereYear('start_day', (string) Carbon::now()->year)->get();

Если вы хотите выбрать только месяцы, то

$months = DB::table('times')->select(DB::raw('MONTH(start_day) month')->whereYear('start_day', (string) Carbon::now()->year)->get();
0 голосов
/ 16 октября 2019

запись

$month = array():
for($i=1;$i<=12;$i++){
   $month[] = DB::table('times')->whereYear('start_day','2019')->whereMonth('start_day',$i)->get();
}

ИЛИ

$month = array():
for($i=1;$i<=12;$i++){
   $month[] = DB::table('times')->where([['YEAR(start_day)', '=', 2019],['MONTH(start_day)','=',(int)$i]])->get();
}
0 голосов
/ 16 октября 2019

Вам нужно изменить where() на whereYear() для поиска по году.

$months = DB::table('times')->whereYear('start_day', '=', 2019)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...