我有一些带有日期字段的数据。我要显示从当前月份数据开始的数据...
我从当前月份开始获得第一条记录。但是下个月又从一月开始。我想要类似当前月+1的记录,然后是当前月+2的记录,等等
@foreach($leave_manages as $holiday)
<tr>
<td class="danger">{{$holiday->date->format('F')}}</td>
<td class="warning">{{$holiday->date->format('d-m-Y')}}</td>
<td class="danger">{{$holiday->holiday}}</td>
<td class="info">{{$holiday->date->format('l')}}</td>
</tr>
@endforeach
预期结果:三月,四月,五月,六月,.............,二月。
实际结果:3月,1月,2月............. 12月
答案 0 :(得分:0)
由于不知道数据库的全部内容,因此不能完全确定您要查找的内容。
假设leave_manages表包含您可以使用本机口才查询来获取结果的所有月份
$leave_manages = Leave_manage::whereDate('holiday', '>', \Carbon\Carbon::createFromDate(date('Y'), 1, 1))
->whereDate('holiday', '<', now())
->orderBy('holiday', 'acs')
->get();
$leave_manages->concact(Leave_manage::whereDate('holiday', '>', now())
->whereDate('holiday', '<', \Carbon\Carbon::createFromDate(date('Y'), 12, 31))
->orderBy('holiday', 'acs')
->get());
答案 1 :(得分:0)
Laravel提供了内置函数,可以使用日期函数获取记录。下面的代码将获取当年从最新到较旧的记录。给这个用户
$ leave_manages = $ leave_manages = Leave_manage :: whereYear('created_at',date('Y'))-> orderBy('created_at','desc')-> get();;
答案 2 :(得分:0)
$from = Carbon::now()->toDateTimeString();
$to = Carbon::now()->subMonth(11)->toDateTimeString();
$data = Leave_manage::where('created_at', '>=', $to)->where('created_at', '<=', $from)
->select(DB::raw("DATE_FORMAT(created_at, '%m') as login_month , DATE_FORMAT(created_at, '%Y') as login_year"))
->groupBy('login_month')
->groupBy('login_year')
->orderBy('login_year')
->orderBy('login_month')
->get();