У меня есть таблица (проекты), которая содержит дату начала и продолжительность (в неделях) и число (progress_pw) относительно того, сколько единиц прогресса можно достичь за неделю
projects
+----+----------+--------+-----------+
| ID |start_date|duration|progress_pw|
+----+----------+--------+-----------+
| 1 |2018-06-15| 2 | 500 |
| 2 |2018-06-19| 4 | 120 |
Я хочу получитьсводка по неделям общего числа единиц прогресса, которые, как ожидается, будут использоваться в течение данной недели.
Например:
* На неделе, начинающейся в понедельник, 11 июня, ожидается, что project.id 1 будет потреблять 500 единиц
* На неделе, начинающейся в понедельник, 18 июня, project.id 1.Ожидается, что он будет потреблять 500 единиц, а project.id 2, как ожидается, будет потреблять 120 единиц с общим потреблением 620 единиц.
* На неделе, начинающейся с 2018-12-01 (когда-нибудь в будущем), нетактивных проектов, поэтому потреблено 0 единиц.
$i=0;$weeks=12;
while ($i < $weeks) {
$thisweek = Carbon::now()->addWeeks($i)->startOfWeek()->format('Y-m-d');
$requiredcap = DB::table('projects')->select(DB::raw("sum(progress_pw) as progress"))
->where('install_date', ">=", $thisweek) //<<< This is where im getting stuck!
->get();
$capacity['label'][] = Carbon::now()->addWeeks($i)->startOfWeek()->format('d M');
$capacity['required'][] = $requiredcap;
$i++;
}
Есть ли какие-нибудь указатели на логику этого?