mirror of
https://github.com/robonen/education-project.git
synced 2026-03-20 02:44:31 +00:00
по умолчанию возврат на текущую неделю
This commit is contained in:
@@ -30,11 +30,12 @@ class TimetableFilter extends QueryFilter
|
|||||||
|
|
||||||
protected function date($value)
|
protected function date($value)
|
||||||
{
|
{
|
||||||
$start_date = str_replace('/', '-', $value);
|
$formatValue = str_replace('/', '-', $value);
|
||||||
$end_date = Carbon::parse($start_date)
|
$weekStartDate = Carbon::parse($formatValue)->startOfWeek()->format('Y-m-d');
|
||||||
|
$weekEndDate = Carbon::parse($weekStartDate)
|
||||||
->addDays(5)
|
->addDays(5)
|
||||||
->format('Y-m-d');
|
->format('Y-m-d');
|
||||||
$this->builder = $this->builder->whereBetween('date', [$start_date, $end_date]);
|
$this->builder = $this->builder->whereBetween('date', [$weekStartDate, $weekEndDate]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,15 @@ class TimetableController extends Controller
|
|||||||
]);
|
]);
|
||||||
$builder = Timetable::all()->sortBy('timeStart');
|
$builder = Timetable::all()->sortBy('timeStart');
|
||||||
$timetables = (new TimetableFilter($builder, $request))->apply()->values();
|
$timetables = (new TimetableFilter($builder, $request))->apply()->values();
|
||||||
|
if (!$request->filled('date')) {
|
||||||
|
$now = Carbon::now();
|
||||||
|
$weekStartDate = $now->startOfWeek()->format('Y-m-d');
|
||||||
|
$weekEndDate = Carbon::parse($weekStartDate)
|
||||||
|
->addDays(5)
|
||||||
|
->format('Y-m-d');
|
||||||
|
$timetables = $timetables->whereBetween('date', [$weekStartDate, $weekEndDate]);
|
||||||
|
}
|
||||||
|
|
||||||
$filterTimetables = collect([]);
|
$filterTimetables = collect([]);
|
||||||
foreach ($timetables as $timetable) {
|
foreach ($timetables as $timetable) {
|
||||||
$subject = $timetable->subject->name;
|
$subject = $timetable->subject->name;
|
||||||
@@ -36,12 +45,16 @@ class TimetableController extends Controller
|
|||||||
'class' => $class,
|
'class' => $class,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$dateTimetables = [];
|
$dateTimetables = [];
|
||||||
for ($i = 0; $i < 6; $i++) {
|
if (!$filterTimetables->isEmpty()) {
|
||||||
$date = Carbon::parse($request->input('date'))
|
for ($i = 0; $i < 6; $i++) {
|
||||||
->addDays($i)
|
$date = Carbon::parse($request->input('date'))
|
||||||
->format('Y-m-d');
|
->startOfWeek()
|
||||||
array_push($dateTimetables, [$date => $filterTimetables->where('date', $date)->values()]);
|
->addDays($i)
|
||||||
|
->format('Y-m-d');
|
||||||
|
array_push($dateTimetables, [$date => $filterTimetables->where('date', $date)->values()]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return response()->json($dateTimetables, 200);
|
return response()->json($dateTimetables, 200);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user